虽然会了,但是我感觉还是做个笔记吧,,以后可以来看看,复习复习
今天看书遇到了这个语句:
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>
大家可以自己试试,,,嘿嘿,去吃饭了
转载于:https://blog.51cto.com/wangjingshuai/1394061