有人能帮我找出这个价值的问题吗?
City!@#$%^&*()_+-={}|:"<>?;''./[]\/*-+.
存储在一个列中,该列正在激发select查询,可以很好地处理=
运算符,但在与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!@#$%^&*()_+-={}|:"<>?;''./[]\/*-+.%';
发布于 2019-11-25 01:29:19
chars [
.]
、%
和_
与like
运算符有着特殊的含义。
如果使用的是like
运算符,则需要以不同的方式处理它们。
具体来说,您需要使用随后在escape
子句中指定的字符来转义它们:
select *
from test_kee
where some_column like '%City!@#$~%^&*()~_+-={}|:"<>?;''./~[~]\/*-+.%' escape '~';
更多详细信息可在正式文件中获得
https://stackoverflow.com/questions/59028556
复制