详解MySQL like如何查询包含'%'的字段(ESCAPE用法)

 更新时间:2020年12月30日 09:57:34   作者:Mr.路痴  
这篇文章主要介绍了详解MySQL like如何查询包含'%'的字段(ESCAPE用法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在SQl like语句中,比如

SELECT * FROM user WHERE username LIKE '%luchi%'
SELECT * FROM user WHERE username LIKE '_luchi_',
  • % 作为通配符通配多个
  • _ 作为通配符通配一个

但当like 所要查询的字段中含有 % ,我们如何去查:

这个时候就需要指明 字段中的那个'%‘ 不作为通配符;
这里就需要用到 ESCAPE 转义

测试:

这里我们使用这张表

lchh

转义前:

SELECT * FROM user WHERE username LIKE '%%%';


这里会发现三个%号都被当做通配符了;

转义后:

SELECT * FROM user WHERE username LIKE '%1%%' ESCAPE '1';


查询成功

注:

  • ESCAPE 后面跟着一个字符,里面写着什么,什么就是转义符;
  • 然后就像 C语言中转义字符一样 例如 ‘\n','\t', 把这个字符写在你需要转义的那个%号前就可以了;

技巧与建议:

MySQL的通配符很有用。但这种功能是有代价的:通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长。这里给出一些使用通配符要记住的技巧。

  • 不要过度使用通配符。如果其他操作符能达到相同的目的,应该 使用其他操作符。
  • 在确实需要使用通配符时,除非绝对有必要,否则不要把它们用 在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起 来是最慢的。
  • 仔细注意通配符的位置。如果放错地方,可能不会返回想要的数.

到此这篇关于详解MySQL like如何查询包含'%'的字段(ESCAPE用法)的文章就介绍到这了,更多相关MySQL like查询%内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySql delimiter的作用是什么

    MySql delimiter的作用是什么

    其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。
    2010-09-09
  • MYSQL大数据导入

    MYSQL大数据导入

    MYSQL大数据导入...
    2006-11-11
  • Mysql数据库 ALTER 操作详解

    Mysql数据库 ALTER 操作详解

    这篇文章主要介绍了Mysql数据库 ALTER 操作详解的相关资料,需要的朋友可以参考下
    2022-09-09
  • Mysql查询表中最小可用id值的方法

    Mysql查询表中最小可用id值的方法

    这篇文章主要介绍了Mysql查询表中最小可用id值的方法,在文中通过sql语句给大家介绍了MySQL中删除id为最小的数据,需要的朋友可以参考下
    2018-10-10
  • 关于MyBatis连接MySql8.0版本的配置问题

    关于MyBatis连接MySql8.0版本的配置问题

    这篇文章主要介绍了关于MyBatis连接MySql8.0版本的配置问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 一文带你了解MySQL中的子查询

    一文带你了解MySQL中的子查询

    子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入,SQL中子查询的使用大大增强了SELECT 查询的能力,本文带大家详细了解MySQL中的子查询,需要的朋友可以参考下
    2023-06-06
  • Workbench连接不上阿里云服务器Ubuntu的Mysql解决方法(已测)

    Workbench连接不上阿里云服务器Ubuntu的Mysql解决方法(已测)

    这两天为了解决workbench连接不上阿里云服务器的问题,搞得头大,网上搜到的教程都大同小异,但唯独到我这就是行不通。不过好在最后终于解决了,记录一下这个坑爹的过程,另外脚本之家小编特把这些问题整理了一下,看完这一篇文章基本上就解决了
    2020-02-02
  • Mysql中where与on的区别及何时使用详析

    Mysql中where与on的区别及何时使用详析

    MySQL当中的限制条件可以使用on或者where,两者在不同的情况下具有不同而意义,这篇文章主要给大家介绍了关于Mysql中where与on的区别及何时使用的相关资料,需要的朋友可以参考下
    2021-08-08
  • MySQL中的insert set 和 insert values用法

    MySQL中的insert set 和 insert values用法

    这篇文章主要介绍了MySQL中的insert set 和 insert values用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL主从状态检查的实现

    MySQL主从状态检查的实现

    这篇文章主要介绍了MySQL主从状态检查的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论