Oracle如何实现like多个值的查询
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,问题背景描述:某天客户有一个需求,给定一批的手机号码或者电话号码,查询出相关的通话记录,以及相关的一些信息。客户给定的被叫号码如图所示:查询出来的结果如下图所示(本批次的结果不是上图导入的结果查询的,
千家信息网最后更新 2025年01月21日Oracle如何实现like多个值的查询
问题背景描述:
某天客户有一个需求,给定一批的手机号码或者电话号码,查询出相关的通话记录,以及相关的一些信息。
客户给定的被叫号码如图所示:
查询出来的结果如下图所示(本批次的结果不是上图导入的结果查询的,为了格式说明,因此导入两张结果不相关的图片):
由于客户给的被叫号码很不规范,查询的时候比较麻烦。
分析过程:
我新建了一个表security_phonebill_callee_num,用以存放导入的被叫号码信息
所有的通话数据保存在t_phonebill_201702中,想要查询必须要实现like,就是以下sql的实现效果
select org_caller_num,org_callee_num,call_seconds,start_time,switch_id,in_trunk,out_trunk,settle_carrier,file_namefrom t_phonebill_201702 awhere a.org_callee_num like '800100186%'
但是这样的号码有好多个,有时候有一百多个,以上的sql只能查询一个号码的通话记录
一开始我想用游标实现,写一个游标,把被叫号码放入游标中,然后写一个循环,每次都依次查询一下,
但后来发现t_phonebill_201702数据量太大,like一次就要花费时间20分钟,100个就是2000分钟(30个小时),耗时量太大,效率太低。
后来查阅资料,多次尝试下写下这个sql,总算是实现了查询,实验论证效率也还不错。
select org_caller_num,a.org_callee_num,call_seconds,start_time,switch_id,in_trunk,out_trunk,settle_carrier,file_namefrom t_phonebill_201702 a where exists(select 1 from security_phonebill_callee_num c where a.org_callee_num like '%||c.org_callee_num||%') ;
如果t_phonebill_201702表的数据量不大,可以考虑使用简版,简版更易于了解,也能更清楚明白like多个值是如何实现的,但使用exists总是一个好习惯。如果你有类似的需求,希望可以帮到你。
select org_caller_num,a.org_callee_num,call_seconds,start_time,switch_id,in_trunk,out_trunk,settle_carrier,file_namefrom t_phonebill_201702 a,security_phonebill_callee_num cwhere a.org_callee_num like '%||c.org_callee_num||%'
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
查询
号码
结果
多个
客户
就是
数据
游标
信息
内容
效率
需求
学习
不错
清楚
上图
不大
价值
图片
小时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天水市网络安全教育平台登录口
荒野大镖客2线上怎么换服务器
信息与网络安全管理员是什么工作
关系数据库标准语言sql试题
中山服务器机柜公司
bim服务器在哪里安装
网安公安分析国家网络安全
产品属性数据库设计
软件开发活动的定义
宁夏戴尔服务器虚拟化部署
数据库左外连接语法
谭宏互联网科技有限公司
网络安全监督管理的职责
mysql数据库建表的前提
edimax 打印服务器
空数据库是指改文件中
说好不哭腾讯服务器
常州软件开发创业扶持
服务器工业级固态硬盘有多大
达内软件开发薪水
政务网络安全信息平台架构设计
部队网络安全案例及分析
dell服务器ipmi配置f2
头歌平台MySQL数据库创建表
万方数据库官网免费查重
服务器属于什么电脑
周村计划管理软件开发
mysql数据库建表的前提
ktv网络技术维修
电路设计软件开发学哪个专业