私はそれがCONTAINS
だと思ったが、それは私には役に立たない。
私はこれをやっています:
IF CONTAINS(@stringVar, 'thisstring')
...
変数に文字列が含まれているかどうかに応じて、1つのselect
を実行する必要があり、それを機能させる方法がわかりません。私が見ているすべての例は、コンテナ内の列を使用しています。
前もって感謝します。
標準的なSQLの方法は、次のように使用することです。
where @stringVar like '%thisstring%'
それはクエリ文にあります。 TSQLでこれを行うこともできます。
if @stringVar like '%thisstring%'
LIKE
(他のコメンターが示唆したように動作します)の代わりに、代わりにCHARINDEX
を使用できます:
declare @full varchar(100) = 'abcdefg'
declare @find varchar(100) = 'cde'
if (charindex(@find, @full) > 0)
print 'exists'
IF CHARINDEX('TextToSearch',@TextWhereISearch, 0) > 0 => TEXT EXISTS
IF PATINDEX('TextToSearch', @TextWhereISearch) > 0 => TEXT EXISTS
Additionally we can also use LIKE but I usually don't use LIKE.
CONTAINS
は全文索引付きフィールド用です-そうでない場合は、LIKE
を使用します