gpt4 book ai didi

sql - 方括号在表达式中按预期运行

转载 作者:行者123 更新时间:2023-12-03 02:28:11 24 4
gpt4 key购买 nike

我正在寻找包含此字符串的字符串[management]

这是一个场景模型:

create table #test (st varchar(200))
insert into #test
values
('hello'),
('hello management'),
('hello [management]'),
('hello [management] blah'),
('hello [management rev] blah');

select * from #test where st like '%\[management]%' ESCAPE '\'

上面找到了我期望的内容,但为什么下面找不到相同的字符串?

select * from #test where st like '%[[]management[]]%'

最佳答案

你应该只转义开始括号,如下所示:

DECLARE @t table(x varchar(100))
INSERT @t
SELECT '[management]'

SELECT * from @t where x like '%[[]management]%'

编辑:

一旦输入“[]]”,like就会期望找到一个与任何内容都不匹配的字符。 '[xy]]' 会要求字符列表('x' 或 'y')位于该位置,'[]]' 会导致该位置出现空字符列表,从而导致匹配不可能.

关于sql - 方括号在表达式中按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34653535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com