轉--oracle中替代LIKE方法

germany006發表於2014-06-17

Oracle中替換like的方法

關鍵詞:                                                   

資料庫中儲存了海量的資料,當查詢時使用like,速度明顯變慢。我在做專案時,發現可以使用instr函式來取代like的作用。

1.%a%方式:
select * from pub_yh_bm t
where instr(t.chr_bmdm,'2')>0
等份於:
select * from pub_yh_bm t
where t.chr_bmdm like '%2%'

2.%a方式:
select * from pub_yh_bm t
where instr(t.chr_bmdm,'110101')=length(t.chr_bmdm)-length('110101')+1
等份於:
select * from pub_yh_bm t
where t.chr_bmdm like '%110101'

3.a%方式:
select * from pub_yh_bm t
where instr(t.chr_bmdm,'11010101')=1
等份於:
select * from pub_yh_bm t
where t.chr_bmdm like '11010101%'

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-1184901/,如需轉載,請註明出處,否則將追究法律責任。

相關文章