點選藍字 · 關註我們
大家好,我是Bryce~
你知道,下面的SQL語句表示什麽意思嗎?
SELECT *
FROM t1
WHEREnameRLIKE'^[a-zA-Z]+$'
表示找出純英文字母的
name
,這裏面涉及到SQL中的正則匹配,學好了正規表式,很多尋找匹配問題就so easy了。
本文讓你輕松搞懂正規表式,文末還有常見的正規表式分享。
1. 基本介紹
1.1 功能簡介
RLIKE正規表式是SQL中用於模式匹配的操作符之一,使用正規表式來搜尋和匹配資料庫中的文本數據。
1.2 語法簡介
RLIKE操作符的語法如下:
SELECT column_name
FROM table_name
WHERE column_name RLIKE'pattern';
其中,
column_name
表示要從中進行匹配的列名,
table_name
表示要從中查詢數據的表名,
pattern
是使用者提供的正規表式模式。
1.3 運算式及說明
2. 使用範例
以下各小節使用的原始數據如下:
ID | Name |
---|---|
1 | Apple |
2 | Banana |
3 | Orange |
4 | Pineapple |
5 | Apricot |
6 | Avocado |
7 | Kiwi |
8 | Guava |
9 | Almond |
10 | Grapefruit |
2.1 匹配以特定字串開頭的值
樣例程式碼:
SELECT * FROM fruits WHERENameRLIKE'^[A-G]';
結果展示:
ID | Name |
---|---|
1 | Apple |
2 | Banana |
5 | Apricot |
6 | Avocado |
8 | Guava |
9 | Almond |
10 | Grapefruit |
結果說明:
該查詢使用RLIKE操作符來搜尋以字母
A
到
G
開頭的水果名稱。
2.2 匹配以特定字串結尾的值
樣例程式碼:
SELECT * FROM fruits WHERENameRLIKE'e$';
結果展示:
ID | Name |
---|---|
1 | Apple |
3 | Orange |
4 | Pineapple |
結果說明:
該查詢使用RLIKE操作符來尋找以字母
e
結尾的水果名稱。
2.3 匹配包含指定字串的值
樣例程式碼:
SELECT * FROM fruits WHERENameRLIKE'an';
結果展示:
ID | Name |
---|---|
2 | Banana |
3 | Orange |
結果說明:
該查詢使用RLIKE操作符來搜尋包含字串
an
的水果名稱。
2.4 匹配包含特定長度字串的值
樣例程式碼:
SELECT * FROM fruits WHERENameRLIKE'^.{6}$';
結果展示:
ID | Name |
---|---|
2 | Banana |
3 | Orange |
9 | Almond |
結果說明:
該查詢使用RLIKE操作符來尋找名稱長度為
6個字元
的水果。
3. 常用用法
3.1 校驗數位的運算式
檢查是否為n位數位:'^\d{n}$'
檢查是否為非零的正整數:'^[1-9]\d*$'
檢查是否為浮點數:'^(-?\d+)(.\d+)?$'
檢查是否為負整數:'^-\d+$'
檢查是否為正整數或浮點數:'^\d+(.\d+)?$'
檢查是否為正數:'^[1-9]\d*|0$'
檢查是否為非負整數:'^\d+$'
檢查是否為非負浮點數:'^\d+(.\d+)?$'
3.2 校驗字元的運算式
檢查是否為漢字:'^[\u4e00-\u9fa5]+$'
檢查是否為英文和數位:'^[A-Za-z0-9]+$'
檢查是否為純英文字母:'^[a-zA-Z]+$'
檢查是否為大寫英文字母:'^[A-Z]+$'
檢查是否為小寫英文字母:'^[a-z]+$'
3.3 特殊需求運算式
信箱地址:'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$'
手機號碼:'^\d{11}$'
IP地址:'^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$'
URL地址:'^(http|https)://[\w-]+(.[\w-]+)+([\w.,@?^=%&:/+#-]*[\w@?^=%&/+#-])?$'
4. 註意事項
使用RLIKE操作符時要註意效能問題,特別是對於大型數據集的查詢。
需要了解資料庫的正規表式支持情況,以免出現相容性問題。
以上就是本次分享的全部內容。我是Bryce,我們下期見~
你好!我是Bryce,大廠數據分析師,數據模型大賽一等獎獲得者,比例1%。連續兩年晉升漲薪,目前是某計畫數據業務負責人。持續分享數據分析、AI編程、AI辦公等文章,我們一起擁抱變化、一起精進。
關註下方公眾號,回復【數據分析書籍】,即可獲取SQL、Python、機器學習等電子書合集。
關註我
常進步