侧边栏壁纸
博主头像
云BLOG 博主等级

行动起来,活在当下

  • 累计撰写 318 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
SQL

MySQL 正则表达式

Administrator
2024-07-05 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

MySQL 正则表达式

你已经了解了使用 LIKE …% 进行MySQL模式匹配。MySQL还支持基于正则表达式和 REGEXP 操作符的另一种模式匹配操作。如果你熟悉PHP或PERL,那么这对你来说非常简单,因为这种匹配与这些脚本中的正则表达式相同。

以下是可以与 REGEXP 操作符一起使用的模式表。

模式

匹配的内容

^

字符串的开头

$

字符串的结尾

.

任意单个字符

[...]

方括号中列出的任意字符

[^...]

不在方括号中列出的任意字符

p1|p2|p3

选择;匹配任意一个模式p1、p2或p3

*

前一个元素的零个或多个实例

\+

前一个元素的一个或多个实例

{n}

前一个元素的n个实例

{m,n}

前一个元素的m到n个实例

示例

现在根据上表,您可以编写各种类型的SQL查询以满足您的需求。这里,我列出了一些供您理解。

考虑我们有一个名为 person_tbl 的表,它有一个名为 name 的字段−

查找所有以 ‘st’ 开头的姓名的查询−

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

Mysql

Copy

查询所有以 ‘ok’ 结尾的名称

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

Mysql

Copy

查找所有包含名字为 ‘mar’ 的查询结果−

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

Mysql

Copy

查询以元音开头,以 ‘ok’ 结尾的所有名称

mysql> SELECT FirstName FROM intque.person_tbl WHERE FirstName REGEXP '^[aeiou].*ok$';

Mysql

Copy

0

评论区