1. ホーム
  2. sql-server

[解決済み】SQL Server 2005でストアドプロシージャを使用して、文字列が部分文字列を含むかどうかを確認する

2022-04-05 12:41:33

質問

文字列があるのですが。 @mainString = 'CATCH ME IF YOU CAN' . という単語があるかどうかをチェックしたい。 ME の中にあります。 @mainString .

SQLで文字列が特定の部分文字列を持つかどうかを確認するにはどうすればよいですか?

どのように解決するのですか?

CHARINDEX() 大きな文字列の中から部分文字列を検索し、マッチした位置を返します。

if CHARINDEX('ME',@mainString) > 0
begin
    --do something
end

編集 あるいは、daniels の回答から、もし単語 (単語の下位要素ではない) を見つけたいのなら、あなたの CHARINDEX の呼び出しは、次のようになります。

CHARINDEX(' ME ',' ' + REPLACE(REPLACE(@mainString,',',' '),'.',' ') + ' ')

(その他の句読点が発生する場合は、さらに再帰的な REPLACE() 呼び出しを追加します)