用于将搜索项括在括号内的TSQL语法

时间:2011-12-19 05:49:47

标签: tsql search sql-server-2005 sql-like

我认为在TSQL中使用[子句时,]LIKE是特殊字符(如果重要,则为SQlserver 2005)。如何在存储过程中转义搜索项,我在下面做了但是即使存在也不会返回有效记录

SELECT * FROM Table WHERE Column LIKE '%['+ @searchedTerm +']'

当上面搜索时,哪个是有效的事情?

3 个答案:

答案 0 :(得分:4)

你需要像这样逃离开口(而非结束)支架:

LIKE '%[[]' + @searchedTerm + ']'

MSDN page for LIKE有一节“使用通配符作为文字”

评论后编辑

  • LIKE '[[]cap]%'搜索包含字符串[cap]
  • 的名称
  • LIKE '[wel]%'搜索包含其中一个字母wel
  • 的名称

答案 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' /'}