このスクリプトを考えると:
DECLARE @token NVARCHAR(max)
SET @token = 'mytexttosearchfor'
SELECT * FROM myTable WHERE myField1 LIKE '%@token%'
効果がないでしょう。このコンテキストで content @token を使用する正しい方法は何ですか?
このスクリプトを考えると:
DECLARE @token NVARCHAR(max)
SET @token = 'mytexttosearchfor'
SELECT * FROM myTable WHERE myField1 LIKE '%@token%'
効果がないでしょう。このコンテキストで content @token を使用する正しい方法は何ですか?
次のように、文字列連結を使用できます。
SELECT * FROM myTable WHERE myField1 LIKE '%'+@token+'%'
あなたのアプローチが期待どおりに機能しなかった理由は、変数が文字列リテラル内で解決されていないためです。、 、 、 、 、、文字で構成される文字列'%@token%'
を意味します- トークンの置換は実行されません。%
@
t
o
k
e
n
%
このようなことを試してください
DECLARE @token NVARCHAR(max)
SET @token = 'mytexttosearchfor'
SELECT * FROM myTable WHERE myField1 LIKE '%' + @token + '%'
あなたが持っている必要があります
SELECT * FROM myTable WHERE myField1 LIKE '%'+@token+'%'