今天一個(gè)同事說(shuō)他寫(xiě)了一個(gè)sql語(yǔ)句查詢(xún)沒(méi)有結(jié)果,他是這樣寫(xiě)的
桐鄉(xiāng)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!
SELECT * FROM Persons WHERE City LIKE '[BLN]%'
那么就再理一下:
SQL通配符是使用特殊字符或語(yǔ)法拼寫(xiě),用來(lái)執(zhí)行模糊搜索指令的語(yǔ)句。查詢(xún)數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),sql通配符可以替代一個(gè)或多個(gè)字符。使用是必須與 LIKE 運(yùn)算符一起使用。在SQL中可以使用的通配符有:
通配符 | 說(shuō)明 |
% | 替代一個(gè)或多個(gè)字符 |
- | 僅替代一個(gè)字符 |
[charlist] | 字符列中的任何一個(gè)字符 |
[^charlist]或[!charlist] | 不在字符列中的任何單一字符 |
"%":匹配任意數(shù)目的字符(零個(gè)或多個(gè));"_":匹配任何單個(gè)字符;
在使用通配符時(shí) 可以用 LIKE或NOT LIKE 比較操作符,而不能用 = 或 !=
以u(píng)ser表為例:
查詢(xún)以a結(jié)尾的記錄:select * from user where username like '%a';
查詢(xún)以a開(kāi)頭的用戶(hù)名:select * from user where username like 'a%';
查詢(xún)不是以a開(kāi)頭的用戶(hù)名:select * from user where username like 'a%';
查詢(xún)包含a的用戶(hù)名:select * from user where username like '%a%';
查詢(xún)有兩個(gè)字符的用戶(hù)名:select * from user where username like '__';
重點(diǎn)在這里:
MySQL模式匹配的其他類(lèi)型是使用擴(kuò)展正則表達(dá)式,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,之后遇到HIVE可以自己查下LIKE 、RLIKE)。
擴(kuò)展正則表達(dá)式的一些字符是:
"." 匹配任何單個(gè)的字符,一個(gè)字符類(lèi)“[...]”匹配方括號(hào)內(nèi)的任何字符如,"[abc]" 匹配"a"、"b"或"c"。為了命名字符的一個(gè)范圍,使用一個(gè)連接符"-" 。"[a-z]" 匹配任何小寫(xiě)字母,而"[0-9]"匹配任何數(shù)字。
"* " 匹配零個(gè)或多個(gè)在它前面的東西。例如,"x*" 匹配任何數(shù)量的 "x" 字符,"[0-9]*" 匹配的任何數(shù)量的數(shù)字,而“.*”匹配任何數(shù)量的任何字符。
另外,正則表達(dá)式是區(qū)分大小寫(xiě)的,當(dāng)然也可以使用一個(gè)字符類(lèi)同事匹配大小寫(xiě)如,"[aA]" 匹配小寫(xiě)或大寫(xiě)的"a"而"[a-zA-Z]"匹配兩種寫(xiě)法的任何字母。
為定位一個(gè)模式,以便匹配目標(biāo)值的開(kāi)始或末尾,在模式開(kāi)始處使用“^”或在模式的結(jié)尾用“$”。 下面是使用REGEXP寫(xiě)LIKE查詢(xún):
查詢(xún)city以 “L”開(kāi)頭的人信息,使用“^”匹配名字的開(kāi)始并且“[lL]”匹配小寫(xiě)或大寫(xiě)的“l(fā)”
select * from Persons where City REGEXP "^[lL]";
查詢(xún)lastname以“sh”結(jié)尾的人,使用“$”匹配名字的結(jié)尾:
SELECT * FROM Persons WHERE LastName REGEXP "sh$";
查詢(xún)lastname包含一個(gè)"A"的人,使用“[aA]”匹配小寫(xiě)或大寫(xiě)的“a”:
SELECT * FROM Persons WHERE LastName REGEXP "[aA]";
查詢(xún)city名恰好包含6個(gè)字符的記錄,使用“^”和“$”匹配名字的開(kāi)始和結(jié)尾,和6個(gè)“.”實(shí)例在兩者之間:
SELECT * FROM Persons WHERE city REGEXP "^......$";
也可以使用“{n}”“重復(fù)n次”操作符:
SELECT * FROM pet WHERE name REGEXP "^.{6}$";
文章名稱(chēng):數(shù)據(jù)庫(kù)MySQL通配符與模式匹配正則表達(dá)式
文章出自:http://www.rwnh.cn/article24/gposce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站內(nèi)鏈、做網(wǎng)站、網(wǎng)站改版、網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)