平时大家在对数据库操作时,会遇到对特殊字符的查询,但是利用like查询时一旦遇到 " % , _ ,' ,? "等特殊字符就狒狒了,Oracle给我们提供了一个关键字 escape '/' 方便特殊字符的查询和转义 ;
具体用法如下:
-- 查询记录中包含 “ % ” 字符的记录
select * from table_name t where t.name like '%/%%' escape '/';
-- 查询记录中包含 “ % ” 字符的记录
select * from table_name t where t.name like '%\%%' escape '\';
-- 查询记录中包含 “ _ ” 字符的记录
select * from table_name t where t.name like '%/_%' escape '/';
-- 查询记录中包含 “ ’ ” 字符的记录(特殊对待)
select * from table_name t where t.name like '%''%';
如果执行
select * from table_name t where t.name like '%/'%' escape '/';
会提示:ORA-01756: quoted string not properly terminated
让我们记住比较有意思的 escape '/' :
其中 escape '/' 是标识转义字符的关键字语法, " / " 中 / 为用户自定义转义字符;