MySQL通配符和正则表达式

一、通配符

1.%

匹配0,1,多个字符,但不匹配NULL

2._

匹配单个字符

3.[charlist]

匹配字符列中的任何单一字符

4.[^charlist] 或 [!charlist]

匹配不在字符列中的任何单一字符

二、正则表达式

通配符的LIKE替换为REGEXP

LIKE 匹配整个列, REGEXP 在列值内进行匹配

要区分大小写,需要写作REGEXP BINARY 'Hern .000'

1.元字符

.匹配任意一个字符;

*匹配0次或多次; ?匹配0次或1次;

+匹配1次或多次;

()组合;

{}量词,{m} 匹配某个字符正好 m 次,{m,} 匹配某个字符至少 m 次,{m,n} 匹配某个字符至少 m 次,但不超过 n 次;

^匹配字符串的开始; ^有两种用法。在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处

$匹配字符串的结束。

2.or匹配

使用|,如 REGEXP '100|200'

3.匹配几个字符之一

charlist

4.匹配范围

0123456789\]可以简化为\[0-9\], 英文字母表可以简写为\[a-z

5.匹配特殊字符

用\防止转义

6.匹配字符类

相关推荐
小短腿的代码世界18 分钟前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
JosieBook1 小时前
【数据库】时序数据库选型指南:从数据模型到大模型智能分析
数据库·时序数据库
小猿姐2 小时前
Clickhouse Kubernetes Operator 实测:哪种方案更适合生产?
运维·数据库·kubernetes
2501_921939262 小时前
MHA高可用
数据库·mysql
_Evan_Yao2 小时前
MySQL 基础:SELECT、WHERE、JOIN 的第一次使用
数据库·mysql
weixin_444012933 小时前
c++如何将std--vector直接DUMP到二进制文件_指针地址直写【附代码】
jvm·数据库·python
woxihuan1234563 小时前
Go语言中--=运算符详解:位右移赋值操作的原理与应用
jvm·数据库·python
java1234_小锋3 小时前
SpringBoot为什么要禁止循环依赖?
java·数据库·spring boot
神仙别闹4 小时前
基于QT(C++)实现学生成绩管理系统
数据库·c++·qt
m0_690825824 小时前
如何备份被破坏的数据表_强制跳过错误的导出尝试
jvm·数据库·python