我們在生產環境中的表中有一些記錄,其中稱爲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 –