ORACLE中ESCAPE关键字用法
定义:escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。
实例:
SELECT * FROM TABLE WHERE NAME LIKE '%_%';
NAME
---------
aa_a
aaa
SELECT * FROM TABLE WHERE NAME LIKE '%\_%' ESCAPE '\';
(ESCAPE把‘\'标识为转义字符,而’\‘把’_‘转义为字符,而非其原义)
NAME
----------
aa_a
还有一种特殊情况:当通配符在查询数据的头部(例:"_aa")时 ,如果你像上面这样使用转义字符是会报错的,需要像下面一样双写转义字符
SELECT * FROM T11 WHERE NAME LIKE '_\\AA' ESCAPE '\';
注意:如果是 '/' 作为检索字符, 必须 用 '/' 作为转义符, 正斜扛也一样.
select * from wan_test where psid like '%//%' escape '/'