转载自:http://www.letuknowit.com/archives/90/

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%%%开头的所有记录*/

mysql 电话模糊查询_mysql中的模糊查询相关推荐

  1. mysql 通配符转转义_MySQL中的模糊查询和通配符转义

    MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...

  2. mysql结果作为另一次查询_MySql中一次查询结果用作二次查询条件

    Sql的截取关联查询 最近在写sql时,碰到了如下情况, 需求是通过一个账户的id去查询关联的该账户下的所有简历,其中地址字段要通过另一个表进行关联查询.地址字段存的是地址表中对应的编号. 例如210 ...

  3. mysql多类型查询_MYSQL中的多类型查询及高级查询操作

    离散查询 select * from car where price=30 or price=40 or price=50 or price=60; select * from car where p ...

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

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

  5. mysql时间模糊查询_mysql中那些根据时间查询的sql语句

    在我们使用mysql是免不了要根据时间去查询一些数据,这个时候一般有几种方式可以去查询. 第一种数据库,如果有数据新建时间可以以这个时间为节点,通过当前时间条件去比较时间来查询到此段时间内的数据 例如 ...

  6. mysql中怎么查询单行单列_MySql中的子查询-结果单行单列

    MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...

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

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

  8. mysql 查询分析器中使用if_查询分析器中开发代码测试检查_MySQL

    如果您像我一样,则可能已经花费了很多时间在查询分析器中开发代码.在您对代码感到满意之后,可以立即对开发服务器上的测试数据库运行一个或两个专设 测试.如果看起来没有什么问题,您便可以将代码投入生产.如果 ...

  9. php mysql 时间戳查询_mysql中时间查询函数(包括时间戳)

    mysql中时间查询函数(包括时间戳) 这些函数都是MySQL自带的,可以直接使用在PHP写的MySQL查询语句中哦 1-CURDATE()或CURRENT_DATE()和CURTIME()或CURR ...

最新文章

  1. linux 光驱挂载
  2. Qt编程之通过鼠标滚轮事件缩放QGraphicsView里面的Item
  3. 如何最小化云API升级造成的中断?
  4. php账号密码备忘,WordPress使用备忘
  5. apscheduler 脚本执行失败_Bash编程入门-3:数学运算及脚本
  6. Django笔记06
  7. ios开发网络学习:一:NSURLConnection发送GET,POST请求
  8. 西南科技大学计算机技术专硕,西南科技大学法律专硕考研怎么样?看了21考研报录数据,太良心了...
  9. iphone天行连接不上服务器未响应,天行连接不上 - 卡饭网
  10. Linux之bash脚本编程---if补充和for循环
  11. String、Path、File、Directroy 常用方法总结
  12. 明显调用的表达式前的括号必须具有(指针)函数类型
  13. [导入]ASP.NET 2.0数据处理之高级分页/排序
  14. 6.0后,全局悬浮窗或者弹窗不显示的解决办法
  15. TensorLy-神经网络张量库
  16. 操作系统源码及GeekOS学习
  17. 计算机在模具设计中的应用课程设计,数字化技术在冲压模具设计与制造中的应用...
  18. S7-PLCSIM Advance ,解决 Error Code: -30,LicenseNotFound问题解决和期限21天限制的问题,对版本V1.0 V2.0 V3.0有效
  19. Java8 Lambda表达式的特快处理流Stream快速入门
  20. 关于选牛和选马的问题

热门文章

  1. 飞鱼星QuanWiFi助江南赋餐厅实现高密覆盖和微信营销
  2. 泰山游攻略:四大登顶线路推荐
  3. Laravel 集成支付宝手机网站支付
  4. [转] 最牛B 的 Linux Shell 命令
  5. OS + Linux RedHat / redhat7 / redhat 7 / redhat 6 / redhat 5
  6. 时空之轮Android手柄,CHRONO TRIGGER(超时空之轮)v2.0.6.0
  7. Python入门实例——N位数的水仙花数
  8. QT多线程的两种写法
  9. 新启点趣味编程教育有限公司——发掘移动联网的下一代精英
  10. SPU SKU mysql_电商产品设计(三)——浅析SPU和SKU