Mysql REGEXP

前言

最近在写一个sql 的时候遇到一个问题,like 多个条件,突然忘记语法了,就来重新复习下。

MySQL可以通过 LIKE 来进行模糊匹配。 也可以通过 REGEXP 进行正则表达式的匹配。

表达式 描述
^ 匹配输入字符串的开始位置。
$ 匹配输入字符串的结束位置
[] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
p1|p2|p3 匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
上述一般用的比较多

LIKE 一般匹配一条数据,REGEXP 匹配多条


实例

  • LIKE

SELECT name FROM user WHERE name like '%st%';

会查出 name 列 符合 st 字符的数据

  • REGEXP

SELECT name FROM user WHERE name REGEXP 'xiaoming|xiaohong';

可以匹配多个值,当然也可以用上表中的正则进行其他匹配

posted @ 2019-01-13 21:51  haoming1100  阅读(350)  评论(0编辑  收藏  举报
本文作者: haoming1100 博客链接: http://www.cnblogs.com/haoming1100 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载时必须带上原文链接!