您的位置:首页 > 数据库 > Oracle

Oracle中escape关键字的用法

2014-04-11 12:08 447 查看
虽然会了,但是我感觉还是做个笔记吧,,以后可以来看看,复习复习


今天看书遇到了这个语句:
select name
from promotions
where name like '%\%%' escape '\'
/
我看了之后有些不解,,,,,然后在网上查了查资料。。。。
先给大家解释一下吧:
其中escape关键字是指定转义字符的,上面的转义字符就是 \
而这个转义字符是转谁的意呢?????
当然是转特殊字符的意思啦,比如:%,_,&等
因为想要查找name中含有%的信息,但是%本来就是一个特殊字符-->用来匹配任意个字符的,所以这里需要转义字符转移一下啦,就没有匹配任意个字符的意思了;
看看下面的几个例子,escape分别制定了其他字符为转义字符:
1、设置 '-'为转义字符

select name
from promotions
where name like '%-%%' escape '-'
SQL>
NAME
------------------------------
10% off Z Files
20% off Pop 3
30% off Modern Science
20% off Tank War
10% off Chemistry
20% off Creative Yell
15% off My Front Line
7 rows selected.
2、设置 '(' 为转义字符:

select name
from promotions
where name like '%(_%' escape '('
/
SQL> /
no rows selected
读者可以自己把其他的符号设置为转义字符,我就不在这里给大家设置了
注意:我上面给大家演示的表还有结构如下:

SQL> desc promotions;
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
PROMOTION_ID                              NOT NULL NUMBER(38)
NAME                                      NOT NULL VARCHAR2(30)
DURATION                                           INTERVAL DAY(3) TO SECOND(4)
SQL> select name
2  from promotions;
NAME
------------------------------
10% off Z Files
20% off Pop 3
30% off Modern Science
20% off Tank War
10% off Chemistry
20% off Creative Yell
15% off My Front Line
7 rows selected.
SQL>
大家可以自己试试,,,嘿嘿,去吃饭了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle--sql