こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

ご質問事項

文字列の真ん中くらいに"会員番号○○○○○○"があるのですが、SQL文でその部分だけ抽出したい場合、どのようにしたらよいでしょうか?

状況

文字列の最初から"会員番号"の手前までの文字数が、データによって異なっているケースがあるので、substringで開始位置が定めることが出来ない状況です。

何卒よろしくお願いします。

投稿日時 - 2014-02-16 12:19:18

QNo.8477393

困ってます

このQ&Aは役に立ちましたか?

12人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(4)

ANo.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)

投稿日時 - 2014-02-17 18:18:03

ANo.3

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

投稿日時 - 2014-02-17 11:48:27

ANo.2

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

投稿日時 - 2014-02-16 12:56:52

ANo.1

SQLでは全体を取得してから、プログラムで、
"会員番号○○○○○○"を抜き出すというやり方では
だめなのでしょうか?

私が知らないだけかもしれませんが、
一般的には上記のやりかたで処理すると思います。

投稿日時 - 2014-02-16 12:45:42

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-