小编use*_*245的帖子

如何在 SQL 查询中使用转义和 LIKE

我的查询是:

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)

sql t-sql

5
推荐指数
1
解决办法
918
查看次数

标签 统计

sql ×1

t-sql ×1