Mysql中find_in_set与in、like的区别

Mysql中find_in_set与in、like的区别
find_in_set有三种用:
    注:a,b,c代表字符串常量,name代表字段名
    1、find_in_set('b','a,b,c')     
        这个是find_in_set主要用法,find_in_set都有返回值,
        如这个的返回值为2 ,查不到返回值为0或者null(其中有一个参数为null的情况下返回null) 
    2、find_in_set('b',name)          
        查找name字段中包含b的字段但是name值的记录方式必须是'a,b,c' 
        
        这个用法跟name like "%'b'%" 类似,不同的是:find_in_set是精确匹配,like是模糊匹配
        比如:name的一个值为'a,ab,c' find_in_set则返回为0,like则能查到
    3、find_in_set(name,'a,b,c')
        这个用法跟name in ('a','b','c')结果是相同的
        区别是find_in_set是拼接成的一个字符串'a,b,c'
        in是多个字符串'a','b','c'
 

你可能感兴趣的:(数据库相关)