我必须选择包含特定文本并以"
,'
,)
或空格字符结尾的所有字段,或者将此文本放在字符串末尾。Sql LIKE语句。字符串结尾
所以,我需要类似的东西:
select *
from MyTable
Where Column1 like '%' + @text + '["'') ]%'
直到文本未放置在Column1
结束此查询工作正常。
我必须选择包含特定文本并以"
,'
,)
或空格字符结尾的所有字段,或者将此文本放在字符串末尾。Sql LIKE语句。字符串结尾
所以,我需要类似的东西:
select *
from MyTable
Where Column1 like '%' + @text + '["'') ]%'
直到文本未放置在Column1
结束此查询工作正常。
你可以使用
Where Column1 + '"' like '%' + @text + '["'') ]%'
谢谢,我会用你的代码。 – Egor4eg 2011-04-26 12:41:06
这应该工作更好更快:
SELECT * FROM MyTable
WHERE
((RIGHT(Column1,1) IN (' ', '"', '''', ')'))
AND
(SUBSTRING(Column1, LENGTH(@text)-1, LENGTH(@text))[email protected])
)
OR (RIGHT(Column1, LENGTH(@text))[email protected])
OP正在查找文本位于字符串中间,但后面跟着字符串右侧的指定字符**或**之一的情况。 – 2011-04-26 12:31:09
@Martin:正确,我通过信息修复 – Skrol29 2011-04-26 13:38:01
为什么不试试OR?
Where Column1 like '%' + @text + '["'') ]%'
or
Column1 like '%' + @text + '["'') ]'
还是我误解了要求?你的问题有点难以遵循。
SELECT *
FROM MyTable
WHERE Column1 LIKE '%' + @text + '%["'') ]'
OR Column1 LIKE '%' + @text
你可以给一些简单的输入和所需的输出? – timbooo 2011-04-26 12:26:28
你的问题是什么? – Skrol29 2011-04-26 12:30:18