neversoft 发表于 2018-9-14 11:52:19

ORACLE 特殊字符处理

  平时大家在对数据库操作时,会遇到对特殊字符的查询,但是利用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 '/' 是标识转义字符的关键字语法, " / " 中 / 为用户自定义转义字符;

页: [1]
查看完整版本: ORACLE 特殊字符处理