SQL常用语句--模糊查询REGEXP

REGEXP 是正则表达式(regular expression) 的缩写 . 正则表达式在搜索字符串时非常强大. 它允许我们搜索更复杂的模式。

模糊匹配

1)包含特定字符串

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP 'field'  -- 查找名字中带field的记录

2)我们可以用 '^' 表示字符串的开头,

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP '^field' -- 表示我们的姓氏必须以field开头

3)我们还用美元符号 $ 代表字符串末尾,

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP 'field$' -- 表示我们的姓氏必须以field结尾

搜寻多个单词

表示查询以field开头的姓氏或者姓氏中含有mac或者姓氏中含有rose

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP '^field|mac|rose'

假设你想搜寻姓氏里有 e 的顾客,

如果你想要确保在e前要有g或者i两者之一, 这时需要用到方括号[],在括号里加上多个字母, 比如g,I,m,对应了任何姓氏里有ge或者ie或者me的顾客.

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP '[gim]e' -- 可以用 '[a-h]e' 表示 '[abcdefg]e'.

总结:

sql 复制代码
^:beginning
$:end
|:logical or
[abcd]:使用 [] 匹配任意在括号里列举的单字符.
a-f:表示 [abcdefg], - 代表一个范围.
相关推荐
2401_857865235 分钟前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
暮冬-  Gentle°10 分钟前
使用Python进行网络设备自动配置
jvm·数据库·python
czlczl2002092511 分钟前
Redis五种数据类型底层
数据库·redis·缓存
轩情吖16 分钟前
MySQL内置函数
android·数据库·c++·后端·mysql·开发·函数
ID_云泽17 分钟前
MySQL 备份工具分享(三):定时全量备份
数据库·mysql·数据备份
m0_7432974222 分钟前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
可夫小子23 分钟前
OpenClaw进阶-Macmini远程访问设置
数据库
moxiaoran575327 分钟前
MySQL分库分表的实现(二)--水平分表
数据库·mysql
小小怪75031 分钟前
实战:用Python开发一个简单的区块链
jvm·数据库·python
wangjialelele31 分钟前
详解Redis终端操作和Redis-plus-plus接口使用
linux·数据库·c++·redis·分布式·缓存·中间件