我要寻找包含此字符串[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[]]%'
好的 - 谢谢 - 但即使]不开始模式搜索(所以已经是一个文字?)在方括号周围是什么伤害?!这个正则表达式'hello'不等于'hel [l] o'吗? – whytheq
我真的想添加一个巧妙的段落来回答这个问题,但尽管我尽了最大的努力,但我无法弄清楚。我的问题不是我不确定自己的意思是什么[]。 LIKE'%[]%'不匹配任何内容(来自您的示例记录或空字符串)。我怀疑[]]用[]]解决了[]]。 []部分防止任何匹配。 –
我认为@ t-clausen.dk的答案解决了这个问题。他声称[]要求SQL不匹配,这当然是不能完成的。 –