アプリ版:「スタンプのみでお礼する」機能のリリースについて

ご質問事項

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

状況

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

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

A 回答 (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)
    • good
    • 1

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

    • good
    • 2

> "会員番号"の手前までの文字数が、データによって異なっている


会員番号と○○○○○○の間に他の文字(例:ハイフン)が入ることは無いのですか?
○○○○○○の桁数は固定ですか?
    • good
    • 0

SQLでは全体を取得してから、プログラムで、


"会員番号○○○○○○"を抜き出すというやり方では
だめなのでしょうか?

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す