我有一个带有大量记录Users
的列的SQL Server表codename
,例如:
...
[LP]Luis
JoseLuis
[LP]Pedroso
Luis
PedroLuis
[LP]Maria
CarlosJose
MariaJose
[LP]Carlos
Pedro
...
我需要查询忽略所有codename
包含的的搜索表单[LP]
我编写并运行以下查询:
SELECT TOP (15)*
FROM [Users]
WHERE [codename] LIKE '%Luis%'
AND [codename] NOT LIKE '%[LP]%'
该查询不返回任何内容。
我想获取(在此示例中)记录:
Luis
PedroLuis
JoseLuis
如果我查询:
SELECT TOP (15) *
FROM [Users]
WHERE [codename] LIKE '%Luis%'
我得到:
[LP]Luis
JoseLuis
Luis
PedroLuis
如果我添加到查询中:
AND [codename] NOT LIKE '%[LP]%'
我什么都没有。
所有字符串都具有一个L
或P
,这就是要%[LP]%
查找的内容。
一种方法是转义模式:
SELECT TOP (15) *
FROM [Users]
WHERE [codename] LIKE '%Luis%' AND
[codename] NOT LIKE '%/[LP/]%' escape '/';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句