Sql LIKE语句。字符串的结尾

时间:2011-04-26 12:23:42

标签: tsql

我必须选择包含特定文字的所有字段,并以"')或空格字符结尾,或者此文本放在字符串的末尾。< / p>

所以,我需要这样的东西:

select *
from MyTable
Where Column1 like '%' + @text + '["'') ]%'

此查询正常工作,直到文本未放在Column1的末尾。

4 个答案:

答案 0 :(得分:5)

您可以使用

Where Column1 + '"' like '%' + @text + '["'') ]%'

答案 1 :(得分:0)

这应该更好,更快:

SELECT * FROM MyTable
WHERE
   ( (RIGHT(Column1,1) IN (' ', '"', '''', ')'))
     AND
     (SUBSTRING(Column1, LENGTH(@text)-1, LENGTH(@text))=@text)
   ) 
OR ( RIGHT(Column1, LENGTH(@text))=@text )

答案 2 :(得分:0)

为什么不试试OR?

 Where Column1 like '%' + @text + '["'') ]%'
  or
  Column1 like '%' + @text + '["'') ]'

或者我是否误解了这个要求?你的问题有点难以理解。

答案 3 :(得分:0)

SELECT  *
FROM    MyTable
WHERE   Column1 LIKE '%' + @text + '%["'') ]'
        OR Column1 LIKE '%' + @text