鉴于此脚本:
DECLARE @token NVARCHAR(max)
SET @token = 'mytexttosearchfor'
SELECT * FROM myTable WHERE myField1 LIKE '%@token%'
它无效。在此上下文中使用内容@token的正确方法是什么?
答案 0 :(得分:3)
您可以使用string concatenation,如下所示:
SELECT * FROM myTable WHERE myField1 LIKE '%'+@token+'%'
您的方法无法按预期工作的原因是变量未在字符串文字中解析:'%@token%'
表示由%
,@
,t
组成的字符串,o
,k
,e
,n
,%
字符 - 不执行令牌替换。
答案 1 :(得分:1)
尝试这样的事情
DECLARE @token NVARCHAR(max)
SET @token = 'mytexttosearchfor'
SELECT * FROM myTable WHERE myField1 LIKE '%' + @token + '%'
答案 2 :(得分:1)
你应该
SELECT * FROM myTable WHERE myField1 LIKE '%'+@token+'%'