問題背景描述:
秦都ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
某天客戶有一個需求,給定一批的手機(jī)號碼或者電話號碼,查詢出相關(guān)的通話記錄,以及相關(guān)的一些信息。
客戶給定的被叫號碼如圖所示:
查詢出來的結(jié)果如下圖所示(本批次的結(jié)果不是上圖導(dǎo)入的結(jié)果查詢的,為了格式說明,因此導(dǎo)入兩張結(jié)果不相關(guān)的圖片):
由于客戶給的被叫號碼很不規(guī)范,查詢的時候比較麻煩。
分析過程:
我新建了一個表security_phonebill_callee_num,用以存放導(dǎo)入的被叫號碼信息
所有的通話數(shù)據(jù)保存在t_phonebill_201702中,想要查詢必須要實(shí)現(xiàn)like,就是以下sql的實(shí)現(xiàn)效果
select org_caller_num,org_callee_num,call_seconds,start_time,switch_id, in_trunk,out_trunk,settle_carrier,file_name from t_phonebill_201702 a where a.org_callee_num like '%13800100186%'
但是這樣的號碼有好多個,有時候有一百多個,以上的sql只能查詢一個號碼的通話記錄
一開始我想用游標(biāo)實(shí)現(xiàn),寫一個游標(biāo),把被叫號碼放入游標(biāo)中,然后寫一個循環(huán),每次都依次查詢一下,
但后來發(fā)現(xiàn)t_phonebill_201702數(shù)據(jù)量太大,like一次就要花費(fèi)時間20分鐘,100個就是2000分鐘(30個小時),耗時量太大,效率太低。
后來查閱資料,多次嘗試下寫下這個sql,總算是實(shí)現(xiàn)了查詢,實(shí)驗(yàn)論證效率也還不錯。
select org_caller_num,a.org_callee_num,call_seconds,start_time,switch_id, in_trunk,out_trunk,settle_carrier,file_name from 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表的數(shù)據(jù)量不大,可以考慮使用簡版,簡版更易于了解,也能更清楚明白like多個值是如何實(shí)現(xiàn)的,但使用exists總是一個好習(xí)慣。如果你有類似的需求,希望可以幫到你。
select org_caller_num,a.org_callee_num,call_seconds,start_time,switch_id, in_trunk,out_trunk,settle_carrier,file_name from t_phonebill_201702 a,security_phonebill_callee_num c where a.org_callee_num like '%||c.org_callee_num||%'
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。
網(wǎng)頁名稱:Oracle如何實(shí)現(xiàn)like多個值的查詢
網(wǎng)站地址:http://www.rwnh.cn/article16/gopcdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、電子商務(wù)、小程序開發(fā)、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)