在sql

问题描述:

的文本列中无法识别正方形([])方括号我在SQL表中有一列包含json列表作为文本。在sql

我想找到列中有[7]的所有行。所以,我有类似如下的

SELECT col1, col2 FROM tbl1 WHERE col2 LIKE '[7]' 

然而,这回来了什么(虽然我可以看到行,当我INSPEC具有该领域的表格)。

更奇怪的是,如果我尝试编辑查询到以下

SELECT col1, col2 FROM tbl1 WHERE col2 LIKE '%[7]%' 

它会发现,有[7]行,但它也将得到明确(我认为)行违反该模式,即行有[1,7]

方括号是什么特殊的东西,我不知道?

+6

是..他们是引用的形式。看到这个你的问题http://*.com/questions/439495/how-can-i-escape-square-brackets-in-a-like-clause –

+1

也使用'LIKE'没有通配符几乎相同使用'=' – Lamak

+0

@AaronD感谢您的帮助 – sedavidw

尝试像

SELECT col1, col2 FROM tbl1 
WHERE col2 LIKE '%\[7]%' ESCAPE '\' 
+0

您只需要转义左括号,右括号暗指''%\ [7]%'ESCAPE'\'' –

+0

@AaronD他们说每天都是学校一天,我不知道这:)谢谢你指出这一点 –

+0

我从你的答案(许多)中学到了。很高兴通过这一点点。 –