mysql模糊查询like与REGEXP的使用详细介绍
16lz
2022-01-03
前言
在mysql中实现模糊查询的有like和regexp。本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧。
like模式
like意思是长得像,有两个模式:_和%
_表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意“王”后面有两个_
select name from 表名 where name like '王__';
select name from 表名 where name like '王%';
select name from 表名 where name like '%华%';
^,匹配字符串开始位置,还是上面的例子,查询所有姓王的人名
select name from 表名 where name regexp '^王';
select name from 表名 where name regexp '明$';
[……],匹配[]中包含的任何一个字符,abcdef……xyz可以简写为[a-z],0123456789简写成[0-9],如查询出w/z/s开头的的人名
select name from 表名 where name regexp '^[wzs]';
select name from 表名 where name regexp '^[^wzs]';
select performance from 表名 where performance regexp 'A-|A|A+';
'str*'可以匹配st/str/strr/strrr……
?,重复0次或1次
'str?'可以匹配st/str
+,重复1次或多次
'str+'可以匹配str/strr/strrr/strrrr……
相比javascript里面的正则而言,这里的正则是简化版的,没有惰性匹配/贪婪匹配,[]内不支持\w\s\d这种语法,也不支持中文,相对简单。
需要注意的一点是:这两种模式不要混着用,like模式是不支持正则表达式的,REGEXP模式也不认识_和%
总结
更多相关文章
- Android(安卓)模糊搜索rawquery bind or column index out of ra
- Android横向智能刷新框架-SmartRefreshHorizontal+ScrollView 实
- 安卓shape属性详细介绍
- Android(安卓)模糊效果 FastBlur
- android实现图片模糊背景效果
- Android(安卓)之 Project Butter 详细介绍
- android背景模糊化处理
- Android(安卓)smali语言功能指令详细介绍
- Android(安卓)模糊搜索rawquery bind or column index out of ra