日期:2014-05-16  浏览次数:20507 次

oracle escape用法:
用来转译的,比如数据库中有个表 test字段name 中存了字符'%',那么我查询的时候如果想查询第二位是 '%'的记录就要用到模糊查询,但是'%'是模糊查询的通配符,我不能如下查询:

select * from test where name like '_%%';
这样系统不会把第二个【%】当做字符,只能转译,转译默认的符号是 【\】
select * from test where name like '_\%%';

但是可以自定义转义符,这时候就用 escape,比如定义【*】为转义符
select * from test where name like '_*%%' escape '*';


没有ESCAPE的时候就是通配符,
SQL语言中用百分号"%"代表任意数量的字符,用下划线"_"代表一个字符,假设需要查询某个字符型字段中包含百分符%的记录,我们需要定义一个代字符("~"并将其置于所要搜索的字符前面,然后用ESCAPE子句将其排除:
SELECT * ;
FROM table1 ;
WHERE field1 LIKE "%~%%" ESCAPE "~"