• 【MySQL】FIND_IN_SET、LIKE、IN的区别


    现在有张新闻表,里面有新闻名称name字段,有新闻类型type字段,1代表头条,2代表推荐,11代表热点,22代表最新,现在表中有两条记录,存储形式如下,现在的需求是查找头条新闻,及type中包含1的:


    LIKE函数

      可以看出,把包含11的数据也查出来了,因为它符合查询条件,包含1,所以使用like就不满足这种需求了

    IN()函数

       这样查询的结果也不符合要求

      这样查找的结果不符合预期, in 后面应该是真实的数据,只有 数组 在 in后面能找到才行, 不能用字段代替,这也是一大区别


    FIND_IN_SET()函数

      可看出,准确查找出了type包含1的记录,完全符合需求(没有把包含11的记录查询出来)
    【作用】

      FIND_IN_SET(‘str,’strList’),查找strList字段中包含str结果,返回null或记录
    【使用方法】

        返回值所在字段的索引位置,索引从1开始;如果没有符合的值,返回0
        strList中间的值必须以,分隔
        当某个字段为NULL时,无论FIND_IN_SET()条件是何种查询条件,字段有为NULL的记录都符合

    三者区别

        like是广泛的模糊匹配,字符串中没有分隔符
        IN 后面是变量,且是模糊查询
        Find_IN_SET 是精确匹配,字段值必须以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果
    ---------------------  
    版权声明:本文为CSDN博主「王如霜」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wrs120/article/details/81159585

  • 相关阅读:
    md5加密排序
    md5加密
    PHP获取文件后缀名
    PHP中使用CURL实现GET、POST、PUT、DELETE请求
    PHP常用正则表达式精选
    19 个让 MySQL 效率提高 3 倍的 SQL 优化技巧
    git clone、 remote、fetch、pull、push、remote
    git 命令常用笔记
    十个推荐使用的 Laravel 的辅助函数
    PHP常用函数大全500+
  • 原文地址:https://www.cnblogs.com/fengff/p/11320223.html
Copyright © 2020-2023  润新知