我的查询是:
declare @param1 INT,
@param2 nvarchar(max)
set @param1 = 1
set @param2 = '[Test_data_forQry],[Next_Test_Data]'
SELECT *
FROM Table1
WHERE
ColumnA = @param1
AND (',' + @param2 +',' LIKE '%,' + CONVERT(VARCHAR, ColumnB) + ',%');
Run Code Online (Sandbox Code Playgroud)
方括号和下划线阻止数据获取。我的问题是我应该在查询的最后一行中放置转义“\” 。我也尝试过REPLACE选项,但没有用
set @param1 = 1
set @param2 = '[Test_data_forQry],[Next_Test_Data]'
set @param2 = replace (replace(@param2 , '[', '[[]'), '_','[_]')
SELECT *
FROM Table1
WHERE
ColumnA = @param1
AND (',' + @param2 +',' LIKE '%,' + CONVERT(VARCHAR, ColumnB) + ',%');
Run Code Online (Sandbox Code Playgroud)