鉴于此脚本:
DECLARE @token NVARCHAR(max)
SET @token = 'mytexttosearchfor'
SELECT * FROM myTable WHERE myField1 LIKE '%@token%'
不起作用。在这种情况下使用内容@token 的正确方法是什么?
鉴于此脚本:
DECLARE @token NVARCHAR(max)
SET @token = 'mytexttosearchfor'
SELECT * FROM myTable WHERE myField1 LIKE '%@token%'
不起作用。在这种情况下使用内容@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+'%'