有人可以帮助我找到具有价值的问题
City!@#$%^&*()_+-={}|:"<>?;''./[]\/*-+.
存储在一列中,该列激发选择查询在=
运算符下正常运行,但在与LIKE
运算符一起使用时无效。
例如:
create table test_kee (some_column nvarchar(50));
insert into test_kee
values ('City!@#$%^&*()_+-={}|:"<>?;''./[]\/*-+.');
此查询工作正常:
select *
from test_kee
where some_column = 'City!@#$%^&*()_+-={}|:"<>?;''./[]\/*-+.';
但是此查询不起作用:
select *
from test_kee
where some_column like '%City!@#$%^&*()_+-={}|:"<>?;''./[]\/*-+.%';
答案 0 :(得分:3)
字符[
。 ]
,%
和_
对于like
运算符具有特殊含义。
如果使用like
运算符,则需要对它们进行不同的处理。
具体来说,您需要使用一个在escape
子句中指定的字符对它们进行转义:
select *
from test_kee
where some_column like '%City!@#$~%^&*()~_+-={}|:"<>?;''./~[~]\/*-+.%' escape '~';
更多详细信息,请访问official documentation