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';
可以匹配多个值,当然也可以用上表中的正则进行其他匹配
                    
                
                
            
        
浙公网安备 33010602011771号