您现在的位置是:群英 > 数据库 > 关系型数据库
Oracle like查询中下划线表示什么意思,怎么使用
Admin发表于 2022-07-08 17:46:281453 次浏览
关于“Oracle like查询中下划线表示什么意思,怎么使用”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“Oracle like查询中下划线表示什么意思,怎么使用”吧。


如:查询ZJ_STANDARD_ITEM表的name1字段包含"_("的数据

--以下的查询语句执行会发现所查询的数据并不是我们想要数据
select * from ZJ_STANDARD_ITEM t where t.name1 like '%_(%';

原因分析

下划线“_”在oracle中不是单纯的表示下划线的意思,而是表示匹配单一任何字符! 如以上查询语句就表示"("左边只要有任意字符都会被查询到

【解决办法】

使用 escape() 函数

escape关键字经常用于使某些特殊字符,如通配符:'%','_‘转义为它们原来的字符的意义,被定义的转义字符通常使用'',但是也可以使用其他的符号。

例如:上面的条件语句可以写成where t.name1 like '%_(%'escape ‘';,这个“\”可以改为其他的字符

--使用escape函数将"_"转为下划线的含义
select t.name1 from ZJ_STANDARD_ITEM t where t.name1 like '%\_(%'escape '\';

知识点扩展:Oracle中LIKE模糊查询的使用

Like 模糊查询
占位符
% 替代一个或多个字符
_ 仅替代一个字符

[charlist] 字符列中的任何单一字符

[^charlist] 或者 [!charlist] 不在字符列中的任何单一字符

(1)查询 用户名以‘S'开头的员工信息

  Select * from emp where ename like 'S%'

(2)查询 用户名以‘S'结尾的员工信息

 Select * from emp where ename like '%S'

(3)查询用户名第二个字母是‘A'的员工信息

  select * from emp where ename like '_A%'

(4)查询用户名第三个字母是‘A'的员工信息

  select * from emp where ename like '__A%'

(5)查询用户名中包含 ‘A' 的员工信息

  select * from emp where ename like '%A%'

(6)查询用户名中不包含 ‘A' 的员工信息

  select * from emp where ename not like '%A%'

(7)从 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

 SELECT * FROM Persons WHERE City LIKE '[ALN]%'

(8)从 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:

SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

以上就是关于Oracle like查询中下划线表示什么意思,怎么使用的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: like查询
相关信息推荐
2022-05-09 18:06:04 
摘要:oracle查询归档状态的方法:1、利用“select name,log_mode from v$database;”语句查看数据库现在归档状态;2、以“sysdba”登录,利用“archive log list”语句查看归档的状态。
2022-06-14 17:41:42 
摘要:在sql查询中group by的含义是用于结合合计函数,根据一个或多个列对结果集进行分组,它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
2022-08-13 17:51:16 
摘要:方法:1、用“sudo cat my.cnf”命令查看“my.cnf”文件;2、用“vim mysqld.cnf”命令编辑文件内容,在文件内添加“default-time_zone = '+8:00'”语句;3、重启mysql使新时间生效。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部