【SQL】终于有人把SQL查询中如何使用正则表达式说清楚了!
你知道,下面的SQL语句表示什么意思吗?
SELECT *
FROM t1
WHERE name RLIKE '^[a-zA-Z]+$'
表示找出纯英文字母的name,这里面涉及到SQL中的正则匹配,学好了正则表达式,很多查找匹配问题就so easy了。
本文让你轻松搞懂正则表达式,文末还有常见的正则表达式分享。
RLIKE正则表达式是SQL中用于模式匹配的操作符之一,使用正则表达式来搜索和匹配数据库中的文本数据。
RLIKE操作符的语法如下:
SELECT column_name
FROM table_name
WHERE column_name RLIKE 'pattern';
其中,column_name表示要从中进行匹配的列名,table_name表示要从中查询数据的表名,pattern是用户提供的正则表达式模式。

以下各小节使用的原始数据如下:
| ID | Name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 3 | Orange |
| 4 | Pineapple |
| 5 | Apricot |
| 6 | Avocado |
| 7 | Kiwi |
| 8 | Guava |
| 9 | Almond |
| 10 | Grapefruit |
样例代码:
SELECT * FROM fruits WHERE Name RLIKE '^[A-G]';
结果展示:
| ID | Name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 5 | Apricot |
| 6 | Avocado |
| 8 | Guava |
| 9 | Almond |
| 10 | Grapefruit |
结果说明:
该查询使用RLIKE操作符来搜索以字母A到G开头的水果名称。
样例代码:
SELECT * FROM fruits WHERE Name RLIKE 'e$';
结果展示:
| ID | Name |
|---|---|
| 1 | Apple |
| 3 | Orange |
| 4 | Pineapple |
结果说明:
该查询使用RLIKE操作符来查找以字母e结尾的水果名称。
样例代码:
SELECT * FROM fruits WHERE Name RLIKE 'an';
结果展示:
| ID | Name |
|---|---|
| 2 | Banana |
| 3 | Orange |
结果说明:
该查询使用RLIKE操作符来搜索包含字符串an的水果名称。
样例代码:
SELECT * FROM fruits WHERE Name RLIKE '^.{6}$';
结果展示:
| ID | Name |
|---|---|
| 2 | Banana |
| 3 | Orange |
| 9 | Almond |
结果说明:
该查询使用RLIKE操作符来查找名称长度为6个字符的水果。