最近在学oracle时,遇到了escape关键字,感觉很有趣,总结下以备后用
我们以employees表为例,姓名name,如果要查出employees表中员工姓名中含有 _ 的所有员工,很多人可能会不假思索的写:
select * from employees where name like '%_%' ;
这样写实际查询出来的是所有员工的数据,为啥哩,这样写代表查询出emloyees表中姓名至少含有一个字符的数据
正确的写法是用转义字符:
select * from employees where name like '%\_%' escape '\' ; 注意是单引号
另外注意:\ 可以换为其他字符 #、$ 但是不能用¥,占两个字符。。。