Tsql 类Sql语句。结束

Tsql 类Sql语句。结束,tsql,Tsql,我必须选择所有包含特定文本且以“,”,)或空格字符结尾的字段,或者将此文本放在字符串的末尾 所以,我需要这样的东西: select * from MyTable Where Column1 like '%' + @text + '["'') ]%' 此查询工作正常,直到文本未放在您可以使用的列1的末尾 Where Column1 + '"' like '%' + @text + '["'') ]%' 这将更好更快地发挥作用: SELECT * FROM MyTable WHERE (

我必须选择所有包含特定文本且以
或空格字符结尾的字段,或者将此文本放在字符串的末尾

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

select *
from MyTable
Where Column1 like '%' + @text + '["'') ]%'
此查询工作正常,直到文本未放在您可以使用的
列1
的末尾

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

这将更好更快地发挥作用:

SELECT * FROM MyTable
WHERE
   ( (RIGHT(Column1,1) IN (' ', '"', '''', ')'))
     AND
     (SUBSTRING(Column1, LENGTH(@text)-1, LENGTH(@text))=@text)
   ) 
OR ( RIGHT(Column1, LENGTH(@text))=@text )
为什么不试试呢

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

还是我误解了这个要求?你的问题有点难理解。

你能给出一些简单的输入和期望的输出吗?OP正在寻找文本在字符串的中间,但后面跟着一个指定字符或在字符串右边的情况。
SELECT  *
FROM    MyTable
WHERE   Column1 LIKE '%' + @text + '%["'') ]'
        OR Column1 LIKE '%' + @text