ADO對Access數據庫的Like查詢(轉)

Access裏like的通配符用法是這樣:
    “?”表示任何單一字符; “*”表示零個或多個字符; “#”表示任何一個數字
    所以應該是:
    select * from databasename where fieldname like '*XX*' 只在access中的查詢有效
    ado 是支持的,只不過,like 語句中應該用2個%,如: select * from databasename where fieldname like '%%XX%%' 這樣就可以得到正確的查詢結果了。這個問題也同時困擾了我很久,現在有解了,和大家一起共享!:) 只在asp中有效

SQL中代替Like語句的另一種寫法(在sql server中)

比如查找用戶名包含有"c"的所有用戶, 可以用

use mydatabase
select * from table1 where username like'%c%"


下面是完成上面功能的另一種寫法:
use mydatabase
select * from table1 where charindex('c',username)>0
這種方法理論上比上一種方法多了一個判斷語句,即>0, 但這個判斷過程是最快的, 我想信80%以上的運算都是花在查找字
符串及其它的運算上, 所以運用charindex函數也沒什麼大不了. 用這種方法也有好處, 那就是對%,|等在不能直接用like
查找到的字符中可以直接在這charindex中運用, 如下:
use mydatabase
select * from table1 where charindex('%',username)>0
也可以寫成:
use mydatabase
select * from table1 where charindex(char(37),username)>0
ASCII的字符即爲%

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章