Loading...
 黯然奮發其 它數據庫SQL中替代Like語句的方法
rouse life
SQL中替代Like語句的方法
文 / 郝振強   來源于:黯然奮發

1、like '%string%' 和 like '%string' 不會使用列上的索引,且效率低,本文替代like主要對此情況進行
2、like 'string%' 和 like 'sting%string' 能夠使用列上的索引

 

SqlServer數據庫:

 

使用CHARINDEX函數

 

例:

替代前:
  select tId, tName from tb_Test where tName like'%abc%"
替代后:
  select tId, tName from tb_Test where charindex('abc',tName)>0

 

Oracle數據庫:

 

使用INSTR函數

 

例:

替代前:
  select tId, tName from tb_Test where tName like'%abc%"
替代后:
  select tId, tName from tb_Test where instr(tName,'abc')>0

另:對like '%..'型,Oracle數據庫可采用下述替代方案:
    select tId, tName from tb_Test where reverse(tName) like reverse('%abc')

zhqhao  上傳于[2010-7-27 20:24:21] | Loading... | 【返回頁首】  
icon
相關文章
Loading...
黯然奮發
歡迎投稿 | 審核原則 | 版權說明 | 隱私保護 | 站點地圖
Copyright © 2004-2010 rouse studio All Rights Reserved.
奮發工作室 版權所有 嚴禁轉載
SadToJoy.Com: 豫ICP備05001861號; Techstd.Com: 豫ICP備09031968號
Powered by rouse cms 2.3 © 2009-2010 rouse studio.