Oracle中有一種簡單的方法來轉義SQL語句中的特殊字符嗎? (即%,&,')我在手動轉義字符方面看到了這個link,但我認爲Oracle可能提供了一個更簡單的方法來實現。轉義SQL中的特殊字符
注:我通過ORM生成動態SQL select語句。
Oracle中有一種簡單的方法來轉義SQL語句中的特殊字符嗎? (即%,&,')我在手動轉義字符方面看到了這個link,但我認爲Oracle可能提供了一個更簡單的方法來實現。轉義SQL中的特殊字符
注:我通過ORM生成動態SQL select語句。
如果使用綁定變量和ORM,嵌入式單引號和&符號應自動移交;這些是SQL * Plus或SQL * Developer中的特殊字符。
使用像在那裏尋找文字字符%和_(而不是他們多和單字符通配符的版本),你應該使用escape
條款的like
條件:
select * from my_table where some_text like '/%%' escape '/';
只會返回some_text以百分號開頭的行。
看來您正在尋找類似SET DEFINE OFF命令的命令,您可以運行該命令並影響整個SQL會話。然而,這個命令只能防止Oracle給和號字符賦予特殊的含義。它不會影響其他特殊字符,如單引號。
的幾個環節,以逃避有關角色的更多信息如下:
https://forums.oracle.com/forums/thread.jspa?threadID=2256637
http://docs.oracle.com/cd/B10501_01/text.920/a96518/cqspcl.htm
&符號由SQL * Plus客戶端識別。它不是實際數據庫服務器的特殊字符。 – 2012-01-06 21:33:37
這裏是技術在網上的權威答案頁。即使提供了例子和練習
唯一需要的東西「逃逸」是字面字符內的一個報價。你提到的其他人都不是需要轉義的「特殊字符」。 – 2012-01-06 21:32:41
@a_horse_with_no_name實際上,使用WHERE .. LIKE子句時,百分比和下劃線是特殊字符。 – RuntimeException 2014-01-31 11:43:33