CJS*_*CJS 51 sql sql-server pattern-matching
使用SQL Server 2008.我有一个包含以下列的表:
sampleData (nvarchar(max))
Run Code Online (Sandbox Code Playgroud)
其中一些行中此列的值是格式如下的列表:
["value1","value2","value3"]
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个简单的查询,通过检测左括号,返回列表格式为这样的列的所有行.
SELECT * from sampleTable where sampleData like '[%'
Run Code Online (Sandbox Code Playgroud)
上面的查询不起作用,因为'['是一个特殊的字符,我不能为我的生活找出如何逃避括号所以我的查询做我想要的.
谢谢你的任何建议!
gbn*_*gbn 79
... like '[[]%'
Run Code Online (Sandbox Code Playgroud)
您[ ]用来包围特殊字符(或范围)
请参阅SQL Server LIKE中的 "将通配符用作文字"一节
编辑,2011年11月24日
注意:您不需要逃避结束括号......
Ed *_*per 29
除了gbn的答案,另一种方法是使用ESCAPE选项:
SELECT * from sampleTable where sampleData like '\[%' ESCAPE '\'
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅文档