我认为在TSQL中使用[
子句时,]
和LIKE
是特殊字符(如果重要,则为SQlserver 2005)。如何在存储过程中转义搜索项,我在下面做了但是即使存在也不会返回有效记录
SELECT * FROM Table WHERE Column LIKE '%['+ @searchedTerm +']'
当上面搜索时,哪个是有效的事情?
答案 0 :(得分:4)
你需要像这样逃离开口(而非结束)支架:
LIKE '%[[]' + @searchedTerm + ']'
MSDN page for LIKE有一节“使用通配符作为文字”
评论后编辑
LIKE '[[]cap]%'
搜索包含字符串[cap] LIKE '[wel]%'
搜索包含其中一个字母w
,e
或l
答案 1 :(得分:2)
试试这个:
DECLARE @searchedTerm as varchar(50);
SET @searchedTerm = 'TEST VALUE'
SELECT * FROM Table WHERE Column LIKE '%[[]' + @searchedTerm +']'
答案 2 :(得分:0)
试试这个:
SELECT * FROM Table WHERE Column LIKE'%/ [' + @sebersTerm +']' {escape' /'}