Oracle中有一种简单的方法可以在SQL语句中转义特殊字符吗? (即%,&,')我在手动转义字符时看到了link,但我认为Oracle可能提供了一种更简单的方法。
注意:我正在通过ORM生成动态SQL select语句。
答案 0 :(得分:16)
如果使用绑定变量和ORM,则应自动传递嵌入的单引号和&符号;这些是SQL * Plus或SQL * Developer中的特殊字符。
要在查找文字字符%和_(而不是它们的多字符和单字符通配符版本)中使用LIKE,您将使用escape
条件的like
子句:
select * from my_table where some_text like '/%%' escape '/';
只返回some_text以百分号开头的行。
答案 1 :(得分:2)
看起来你正在寻找类似命令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
答案 2 :(得分:0)
这是关于网络技术的最终答案页面。甚至提供了示例和练习