主頁 > 知識庫 > Oracle如何實(shí)現(xiàn)like多個(gè)值的查詢

Oracle如何實(shí)現(xiàn)like多個(gè)值的查詢

熱門標(biāo)簽:南寧人工智能電銷機(jī)器人費(fèi)用 400電話是不是免費(fèi)申請 濟(jì)南地圖標(biāo)注公司 分布式呼叫中心 安陽外呼系統(tǒng)免費(fèi) 圖像地圖標(biāo)注 海南400電話哪里辦理 呼倫貝爾智能手機(jī)地圖標(biāo)注 貴陽電話外呼系統(tǒng)哪家好

問題背景描述:

某天客戶有一個(gè)需求,給定一批的手機(jī)號碼或者電話號碼,查詢出相關(guān)的通話記錄,以及相關(guān)的一些信息。

客戶給定的被叫號碼如圖所示:

查詢出來的結(jié)果如下圖所示(本批次的結(jié)果不是上圖導(dǎo)入的結(jié)果查詢的,為了格式說明,因此導(dǎo)入兩張結(jié)果不相關(guān)的圖片):

由于客戶給的被叫號碼很不規(guī)范,查詢的時(shí)候比較麻煩。

分析過程:

我新建了一個(gè)表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%'

但是這樣的號碼有好多個(gè),有時(shí)候有一百多個(gè),以上的sql只能查詢一個(gè)號碼的通話記錄

一開始我想用游標(biāo)實(shí)現(xiàn),寫一個(gè)游標(biāo),把被叫號碼放入游標(biāo)中,然后寫一個(gè)循環(huán),每次都依次查詢一下,

但后來發(fā)現(xiàn)t_phonebill_201702數(shù)據(jù)量太大,like一次就要花費(fèi)時(shí)間20分鐘,100個(gè)就是2000分鐘(30個(gè)小時(shí)),耗時(shí)量太大,效率太低。

后來查閱資料,多次嘗試下寫下這個(gè)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多個(gè)值是如何實(shí)現(xiàn)的,但使用exists總是一個(gè)好習(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à)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Oracle使用like查詢時(shí)對下劃線的處理方法
  • oracle sql語言模糊查詢--通配符like的使用教程詳解
  • Oracle中Like與Instr模糊查詢性能大比拼
  • Oracle 模糊查詢及l(fā)ike用法

標(biāo)簽:南充 許昌 涼山 合肥 郴州 滁州 遼源 焦作

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle如何實(shí)現(xiàn)like多個(gè)值的查詢》,本文關(guān)鍵詞  Oracle,如何,實(shí)現(xiàn),like,多個(gè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle如何實(shí)現(xiàn)like多個(gè)值的查詢》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle如何實(shí)現(xiàn)like多個(gè)值的查詢的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章