- 締切済み
文字列のあるキーワードから開始する部分の抽出
ご質問事項 文字列の真ん中くらいに"会員番号○○○○○○"があるのですが、SQL文でその部分だけ抽出したい場合、どのようにしたらよいでしょうか? 状況 文字列の最初から"会員番号"の手前までの文字数が、データによって異なっているケースがあるので、substringで開始位置が定めることが出来ない状況です。 何卒よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- 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では全体を取得してから、プログラムで、 "会員番号○○○○○○"を抜き出すというやり方では だめなのでしょうか? 私が知らないだけかもしれませんが、 一般的には上記のやりかたで処理すると思います。