91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫MySQL 通配符與模式匹配正則表達式

發布時間:2020-07-18 23:32:39 來源:網絡 閱讀:1931 作者:ilisa2015 欄目:數據庫

今天一個同事說他寫了一個sql語句查詢沒有結果,他是這樣寫的

 SELECT * FROM Persons WHERE City LIKE '[BLN]%'

數據庫MySQL 通配符與模式匹配正則表達式

數據庫MySQL 通配符與模式匹配正則表達式

數據庫MySQL 通配符與模式匹配正則表達式


那么就再理一下:

SQL通配符是使用特殊字符或語法拼寫,用來執行模糊搜索指令的語句。查詢數據庫中的數據時,sql通配符可以替代一個或多個字符。使用是必須與 LIKE 運算符一起使用。在SQL中可以使用的通配符有:

通配符
說明
%

替代一個或多個字符

-僅替代一個字符
[charlist]字符列中的任何一個字符
[^charlist]或[!charlist]不在字符列中的任何單一字符

"%":匹配任意數目的字符(零個或多個);"_":匹配任何單個字符;

在使用通配符時 可以用 LIKE或NOT LIKE 比較操作符,而不能用 = 或 !=

以user表為例:

查詢以a結尾的記錄:select * from user where username like '%a';   

查詢以a開頭的用戶名:select * from user where username like 'a%';

查詢不是以a開頭的用戶名:select * from user where username like 'a%';

查詢包含a的用戶名:select * from user where username like '%a%';

查詢有兩個字符的用戶名:select * from user where username like '__';


重點在這里:

MySQL模式匹配的其他類型是使用擴展正則表達式,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,之后遇到HIVE可以自己查下LIKE 、RLIKE)。 


擴展正則表達式的一些字符是: 

"."  匹配任何單個的字符,一個字符類“[...]”匹配方括號內的任何字符如,"[abc]" 匹配"a"、"b"或"c"。為了命名字符的一個范圍,使用一個連接符"-" 。"[a-z]" 匹配任何小寫字母,而"[0-9]"匹配任何數字。 
"* "  匹配零個或多個在它前面的東西。例如,"x*" 匹配任何數量的 "x" 字符,"[0-9]*" 匹配的任何數量的數字,而“.*”匹配任何數量的任何字符。

 
另外,正則表達式是區分大小寫的,當然也可以使用一個字符類同事匹配大小寫如,"[aA]" 匹配小寫或大寫的"a"而"[a-zA-Z]"匹配兩種寫法的任何字母。 


為定位一個模式,以便匹配目標值的開始或末尾,在模式開始處使用“^”或在模式的結尾用“$”。 下面是使用REGEXP寫LIKE查詢:

查詢city以 “L”開頭的人信息,使用“^”匹配名字的開始并且“[lL]”匹配小寫或大寫的“l”

select * from Persons where City REGEXP "^[lL]";

查詢lastname以“sh”結尾的人,使用“$”匹配名字的結尾: 

 SELECT * FROM Persons WHERE LastName REGEXP "sh$";

查詢lastname包含一個"A"的人,使用“[aA]”匹配小寫或大寫的“a”: 

SELECT * FROM Persons WHERE LastName REGEXP "[aA]";

查詢city名恰好包含6個字符的記錄,使用“^”和“$”匹配名字的開始和結尾,和6個“.”實例在兩者之間: 

SELECT * FROM Persons WHERE city REGEXP "^......$";

也可以使用“{n}”“重復n次”操作符: 

SELECT * FROM pet WHERE name REGEXP "^.{6}$";

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

射洪县| 桦南县| 长兴县| 靖边县| 怀柔区| 棋牌| 八宿县| 腾冲县| 丰顺县| 莱阳市| 格尔木市| 美姑县| 乌兰浩特市| 绍兴县| 五华县| 潞西市| 鹤岗市| 海安县| 北流市| 双柏县| 南郑县| 景东| 武乡县| 普陀区| 徐汇区| 张家港市| 通榆县| 新乡县| 梁山县| 苍山县| 芷江| 名山县| 义乌市| 彭阳县| 武胜县| 华安县| 洛扎县| 邹城市| 原平市| 嘉鱼县| 资讯|