• 締切済み

文字列のあるキーワードから開始する部分の抽出

ご質問事項 文字列の真ん中くらいに"会員番号○○○○○○"があるのですが、SQL文でその部分だけ抽出したい場合、どのようにしたらよいでしょうか? 状況 文字列の最初から"会員番号"の手前までの文字数が、データによって異なっているケースがあるので、substringで開始位置が定めることが出来ない状況です。 何卒よろしくお願いします。

みんなの回答

  • innoya
  • ベストアンサー率71% (10/14)
回答No.4

こんにちは。 下記のようにsubstringとcharindexを使えばできます。 例文を作成しましたので、下記のSQLを実行してみてください。 DECLARE @Str nvarchar(100) SET @Str = N'こんにちは。山田です。会員番号123456です。ありがとうございます。' --#### 結果 SELECT SUBSTRING(@Str, CHARINDEX('会員番号', @Str), 10) SET @Str = N'こんにちは。会員番号561257です。' --#### 結果 SELECT SUBSTRING(@Str, CHARINDEX('会員番号', @Str), 10)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.3

CHARINDEX関数で'会員番号'という文字列の開始位置を取得すればいいのではないですか?

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

> "会員番号"の手前までの文字数が、データによって異なっている 会員番号と○○○○○○の間に他の文字(例:ハイフン)が入ることは無いのですか? ○○○○○○の桁数は固定ですか?

  • t_hirai
  • ベストアンサー率28% (222/788)
回答No.1

SQLでは全体を取得してから、プログラムで、 "会員番号○○○○○○"を抜き出すというやり方では だめなのでしょうか? 私が知らないだけかもしれませんが、 一般的には上記のやりかたで処理すると思います。

関連するQ&A