SQL語(yǔ)句 SELECT LIKE用法詳解
在SQL結構化查詢語言中,LIKE語句有著至關重(chóng)要的作用。
LIKE語句(jù)的語法格式是:select * from 表名 where 字段名 like 對應值(zhí)(子串),它(tā)主要是(shì)針對字符型字段的(de),它(tā)的(de)作用是(shì)在(zài)一(yī)個字符型(xíng)字(zì)段列中檢索包(bāo)含對應子串的。
A:% 包含零個或多(duō)個字符的任意字符(fú)串:
1、LIKE'Mc%' 將搜索(suǒ)以字母(mǔ) Mc 開頭(tóu)的所有字符串(如 McBadden)。
2、LIKE'%inger' 將搜索以字(zì)母 inger 結(jié)尾的所有字(zì)符串(如 Ringer、Stringer)。
3、LIKE'%en%' 將搜(sōu)索在任(rèn)何位置包含字母 en 的(de)所有(yǒu)字符串(chuàn)(如 Bennet、Green、McBadden)。
B:_(下劃(huá)線) 任何單個字符:
LIKE'_heryl' 將搜索以字母 heryl 結尾(wěi)的所有六個字母的名稱(如 Cheryl、Sheryl)。
C:[ ] 指定範圍 ([a-f]) 或(huò)集合 ([abcdef]) 中的任何單個字符(fú):
1,LIKE'[CK]ars[eo]n' 將搜索(suǒ)下列字(zì)符(fú)串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、LIKE'[M-Z]inger' 將(jiāng)搜索以字符(fú)串 inger 結尾、以從 M 到(dào) Z 的(de)任何單個字母開頭的所有名(míng)稱(如 Ringer)。
D:[^] 不屬於指定範圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字符:
LIKE'M[^c]%' 將搜索以字母 M 開頭,並且第二個字母不是 c 的所有名稱(如(rú)MacFeather)。
E:* 它(tā)同於DOS命令中的通配符,代(dài)表多個(gè)字符:
c*c代(dài)表cc,cBc,cbc,cabdfec等多個字符。
F:?同於DOS命令中的?通配符,代表(biǎo)單(dān)個字符 :b?b代表brb,bFb等
G:# 大致(zhì)同上(shàng),不同(tóng)的是代(dài)隻能代表單個(gè)數字。k#k代表k1k,k8k,k0k 。
F:[!] 排(pái)除 它隻代表單個字(zì)符
下麵我(wǒ)們來舉(jǔ)例說明一下(xià):
例1,查詢(xún)name字(zì)段中包含有“明”字的。
select * from table1 where name like '%明%'
例2,查詢name字段中以“李”字開頭。
select * from table1 where name like '李*'
例(lì)3,查(chá)詢name字段中含有數字的。
select * from table1 where name like '%[0-9]%'
例4,查詢name字(zì)段中含有(yǒu)小寫字母(mǔ)的。
select * from table1 where name like '%[a-z]%'
例5,查詢name字段(duàn)中不含有(yǒu)數(shù)字的。
select * from table1 where name like '%[!0-9]%'
以(yǐ)上例子能列出什麽值來顯而易(yì)見。但在這裏,我(wǒ)們著(zhe)重要說(shuō)明的(de)是通配符“*”與“%”的區別。
很多朋友會問,為什麽(me)我在以(yǐ)上查詢時(shí)有個別的表(biǎo)示(shì)所有(yǒu)字符的時候用"%"而不用“*”?先(xiān)看看下麵的例子能分別出現什(shí)麽結果(guǒ):
select * from table1 where name like '*明*'
select * from table1 where name like '%明%'
大家會看(kàn)到(dào),前一(yī)條語句列出來的是所有(yǒu)的記(jì)錄,而後(hòu)一(yī)條記(jì)錄列出來的是name字段中含(hán)有(yǒu)“明”的記錄,所以說,當我們作字符型(xíng)字段包含一個子(zǐ)串的查詢時最好采用“%”而不用(yòng)“*”,用(yòng)“*”的時候隻在開(kāi)頭或者隻在結尾時(shí),而不能兩(liǎng)端全由(yóu)“*”代替(tì)任意(yì)字符的情況下。
關鍵詞(cí):SQL語句,SELECT,LIKE
閱讀本(běn)文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0