我们在生产环境中的表中有一些记录,其中称为compiledlimitation的特定字段包含单引号通过多个反斜杠转义的值。选择单引号转义的记录只有双反斜线
E.g. Test\\'s
我们试图只选择这样的记录,但类似下面的查询返回那些在另外一个反斜杠(适当的记录),选择那些双反斜线记录 -
select * from tablename where compiledlimitation like "%\\'%"
上述查询都返回这些行 -
Test\\'s
Test\'s
如何修改查询以仅提取具有双反斜杠的行。
字段编译限制是一个文本字段。
更新
问题尚未解决。这两个查询返回两个记录 -
select * from tablename where compiledlimitation like "%\\\\\'%"
select * from tablename where compiledlimitation like "%\\\'%"
会逃脱它是不'\\\\\“'? [斜线转义下一个斜线] [斜线] [斜线转义下一个斜线] [斜线] [斜线转义单引号] [单引号] – Martijn
是的,这看起来是正确的,但我仍然得到两个记录。看起来很奇怪 –
问题已解决,但不确定如何为每个反斜杠添加4个反斜杠,即4 + 4 + 1 = 9,即“%\\\\\\\\'%”'编译限制。发现从这个http://stackoverflow.com/questions/13414791/why-i-need-to-double-escape-use-4-to-find-a-backslash-in-pure-sql –