MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词)。

第一种是标准的SQL模式匹配。它有2种通配符:“_”和“%”。“_”匹配任意单个字符,而“%”匹配任意多个字符(包括0个)。举例如下:

SELECT * FROM table_name WHERE column_name LIKE ‘m%’; #查询某字段中以m或M开头的所有记录

SELECT * FROM table_name WHERE column_name LIKE ‘%m%’; #查询某字段中包含m或M的所有记录

SELECT * FROM table_name WHERE column_name LIKE ‘%m’; #查询某字段中以m或M结尾的所有记录

SELECT * FROM table_name WHERE column_name LIKE ‘_m_’; #查询某字段中3个字符且m或M在中间的所有记录

如果我们想查询包含通配符的字符串该怎么办呢?比如,50%或_get。答案就是:转义。可以用\来直接转义,或用ESCAPE定义转义字符来进行转义,都只是转义跟在后面的一个字符,例如:

SELECT * FROM table_name WHERE column_name LIKE ‘%50\%%’; /*第2个%被转义,查询某字段包含50%的所有记录*/

SELECT * FROM table_name WHERE column_name LIKE ‘%50/%%’ ESCAPE ‘/’; #第2个%被转义

SELECT * FROM table_name WHERE column_name LIKE ‘%\_get%’ ESCAPE ‘/’; /*“_”被转义,查询某字段包含_get的所有记录*/

第二种是使用扩展正则表达式的模式匹配。先来看下扩展正则表达式一些字符的含义:

“.”:匹配任意单个字符

“?”:匹配前面的子表达式0次或1次。

“+”:匹配前面的子表达式1次或多次。

“*”:匹配前面的子表达式0次或多次。x*,表示0个或多个x字符;[0-9]*,匹配任何数量的数字。

“^”:表示匹配开始位置。

“$”:表示匹配结束位置。

“[]”:表示一个集合。[hi],表示匹配h或i;[a-d],表示匹配a、b、c、d中任一个。

“{}”:表示重复的次数。8{5},表示匹配5个8,即88888;[0-9]{5,11},表示匹配5到11个数字。

再来看个例子:

SELECT * FROM table_name WHERE column_name REGEXP ‘^50%{1,3}’; /*查询某字段中以50%、50%%或50%%%开头的所有记录*/

正则匹配这东东还是挺有用处的,感兴趣的童鞋可以慢慢体会深入研究,O(∩_∩)O~

原创文章请注明转载于知蚁博客,本文地址:http://www.letuknowit.com/archives/90

mysql 通配符转转义_MySQL中的模糊查询和通配符转义相关推荐

  1. mysql 电话模糊查询_mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

  2. Oracle中like模糊查询及通配符

    like 模糊查询 这就要用的like模糊查询了,其通配符如下: % 表示零个或多个字符 (1)_ 单一任意字符 (2)\ 特殊字符 [ ] 在某种范围内的字符,如[0-9].[abcd] [^ ] ...

  3. mysql怎么查询不是张姓的_mysql 中的常用查询

    查询语句:select 字段 from 表名 : 字段别名:as  给字段或者 表名 一个表名 为了显示方便起见,可以设置字段别名. select 后面选项 all 代表不去除重复行,distinct ...

  4. MySql模糊查询like通配符的使用

    MySql模糊查询like通配符使用详细介绍 ------------------------------------------------------ %代表任意多个字符  _代表一个字符 在 M ...

  5. mysql模糊查询实例_Mysql实例sql模糊查询实例详解

    <Mysql实例sql模糊查询实例详解>要点: 本文介绍了Mysql实例sql模糊查询实例详解,希望对您有用.如果有疑问,可以联系我们. 导读:常用的模糊查询语句:select 字段 fr ...

  6. mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天

    mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...

  7. Excel中实现模糊查询-LOOKUP+FIND函数

    Excel中实现模糊查询-LOOKUP+FIND函数 LOOKUP函数 函数简介 函数使用方法 FIND函数 函数简介 函数语法 示例 LOOKUP函数 函数简介   LOOKUP函数是Excel中的 ...

  8. MySQL索引系列--索引的优化--LIKE模糊查询

    原文网址:MySQL索引系列--索引的优化--LIKE模糊查询_IT利刃出鞘的博客-CSDN博客 简介         本文介绍MySQL的LIKE模糊查询索引的优化.主要是索引失效的解决方案. 索引 ...

  9. Mybatis中的模糊查询

     今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经 ...

最新文章

  1. 设置cl.exe环境变量
  2. 5W+人的公司怎么把总部和分部网络连接起来?
  3. 函数计算助力闲鱼构建云端一体化变成模式
  4. kafka通过零拷贝实现高效的数据传输
  5. 计算机cnc键代表啥,计算器上的cnc键表示啥
  6. 达观数据个性化推荐系统实践
  7. python函数参数用法_Python:函数参数类型及其用法
  8. 慕课java工程师2020版_2020年Java工程师就业前景怎么样?
  9. 双系统linux引导修复
  10. 《遥感原理与应用》孙家抦版知识点总结(含简答题、论述题)——第八章
  11. 利用 netDxf与DocumentUltimate 生成CAD钻孔柱状图
  12. . mindoc linux amd64,搭建minDoc文件接口服务器
  13. redis-manger管理平台
  14. pr2020lut导入_pr lut预设怎么安装-PR下导入lut预设的方法 - 河东软件园
  15. 蓝桥杯python试题 基础练习 Fibonacci数列
  16. 【MC】新加载器 Quilt 好用吗?和 Fabric 相比好在哪?
  17. 日本图书馆有哪些地方
  18. 英语专业 计算机语言学,SFU专业合集 | 语言学(Linguistic)专业一览
  19. android无法监听焦点,android tv常见问题(二)如何监听ViewGroup子View的焦点状态
  20. Alcohol 120%刻录教程:刻录镜像文件

热门文章

  1. 有想一起创业的吗?熟悉ios+安卓的马甲包开发程序员
  2. svchost进程的浅析
  3. 手机上的三件事别乱去做,一不留神就会中毒,现在了解还来得及
  4. c# DateTime
  5. 去英国工作也是个不错的选择
  6. 【文献精读】HeadFi: Bringing Intelligence to All Headphones
  7. html多个视频做后背景音乐,自己用手机拍的多个视频 每个截取一段再合并成一个视频添加背景音乐[同时完成的方案];...
  8. 笔记本电池使用误区及正确保养
  9. windows7系统设置自动关机时间
  10. slmgr.vbs /rearm