300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Oracle-19-like运算符转义操作符

Oracle-19-like运算符转义操作符

时间:2020-05-04 13:25:36

相关推荐

Oracle-19-like运算符转义操作符

一、LIKE比较运算符

LIKE比较运算符也可以称为通配符。LIKE运算符可以使用以下两个通配符“%”和“_”,其中“%”代表零个或多个字符,“_”代表一个且只能是一个字符。

比如:如果您只记得SALESMAN的第一个字符为S,第三个字符为L,第五个字符为S,那么查询语句该怎么写?

SQL>select empno, ename, sal, job from empwherejoblike‘S_L_S%’

例1:在当前student表中查询出所有陈姓学生的信息。

解:先查看student表所有信息

LIKE通配符找出所有陈姓学生的信息

LIKE通配符找出所有姓陈且名字为2个字的学生的信息

二、转义(escape)操作符

提问:如果要查询的字符串中含有“_”或“%”,又该怎么处理?

解决:可以使用转义(escape)关键字来完成此任务,为此先创建一个临时的表,之后再往该表中插入1行记录,其值包含通配符。

执行语句:

(1)create table dept_temp as select *from dept;

(2)insert into dept_temp values (88,‘IT_RESEARCH’, ‘BEIJING’);

(3)select * from dept_temp where dname like ‘IT\_%’escape ‘\’;

解释:定义’\’为转义(escape)符,即在’\’之后的’_’字符已经不是通配符,而是它本来的含义,即下划线。

例2:在当前student表中搜索出所有含有下划线的学生信息

解:首先查询当前student表信息:

我们先用’_’进行查询,发现找不到

那是因为like后面的’_’是通配符,表示有且只有一个字符,也就是说,上图中的命令其实是查找名字只有1个字的学生信息,当然查不到。

现在用转义字符查询

对于命令:

SQL>select * from student where sname like ‘%\_%’ escape ‘\’;

其中’%\_%’一头一尾两个%意思是通配符:含有零个或多个字符,中间\是转义运算符,也就是\_表示的是下划线,而不是LIKE通配符,那么’%\_%’的意思就是名字含有下划线的学生,该下划线前后都可以有字符,也可以都没有字符。

另外,$也是转义运算符!作用和\一样。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。