当前位置:数据库 > 数据库管理> 正文

mysql中FIND_IN_SET函数

时间:2016-3-19类别:数据库

mysql中FIND_IN_SET函数

mysql中FIND_IN_SET函数

一、语法

FIND_IN_SET(str,strlist)

查询字段(strlist)中包含(str)的结果,返回结果为null或记录

 

参数说明

str: 要查询的字符串

strlist :字段名 参数以”,”分隔 如 (1,2,6,8)

 

 

二、FIND_IN_SET函数实例

 

1、查出所有拥有1这个权限的所有用户的信息

用户表(user)中的一个字段(purview)代表该用户的权限,将用户的所有权限id存入此字段。比如有:1,2,3,4,5这样的五个权限。

  •  
  • 
    select * from user where find_in_set('1',purview); 
    
    		
  •  

    2、test表中有如下字段及值

     

    (1)、查询area中包含”1″这个参数的记录

    SELECT * from test where FIND_IN_SET('1',area)

    结果

     

    (2)、查询btype字段中包含”15″这个参数的值

    SELECT * from test where FIND_IN_SET('15',btype)

    结果

     

    (3)、查询btype字段中包含”5″这个参数的值

     SELECT * from test where FIND_IN_SET('5',btype)

    结果

    返回值为null,因为btype中没有”5”这个值,它不同于 like 模糊查询,它是以“,”来分隔值

     

     

    三、FIND_IN_SET和like的区别

    1、like是广泛的模糊匹配,字符串中没有分隔符

    2、Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。

     

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐