oracle转义字符去掉下划线_的使用方法

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:56

oracle 转义字符去掉下划线 _ 的使用方法

1,看以下结果
select * from test where login like '%CF_%';
LOGIN
--------------------------------------------------
CF_wwwwwww4
CF_wwwwwww5
CF_wwwwwww6
CF1
CF2
CF3
因为_是转义字符 把CF1,CF2,CF3的结果也查出来了 而我们的目的 是不需要转义符
的,只需要CF_wwwwwww4
CF_wwwwwww5
CF_wwwwwww6
这三条记录
所以做如下处理就可以了
set escape on
这个在默认情况下就是打开的
select * from test where login like '%CF\_%' escape '\';
LOGIN
--------------------------------------------------
CF_wwwwwww4
CF_wwwwwww5
CF_wwwwwww6
以上测试的login是varchar2类型的
如果是nvarchar2类型的,
按上面那写法写会报错,报错如下信息:
SQL> select * from tgsj_infodb_flow where flowname like '%c\%%' escape '\';
select * from tgsj_infodb_flow where flowname like '%c\%%' escape '\'
ORA-01425: 换码符必须是长度为 1 的字符串
下面这种写法才是正确的
SQL> select * from tgsj_infodb_flow where flowname like '%c\%%' escape nchr(92);
ID FLOWNAME
---------- ----------------------------------------
3 qabc%ddd
SQL

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】