LOCATE()和FIND_IN_SET()

locate(substr,str) 查找substr在str中第一次出现的位置,为空时返回0

SELECT login_name, LOCATE('ning',login_name) FROM user WHERE `login_name` ='liangningning';

 locate(substr,str,len)查找substr在str中第len位之后出现的位置,没有显示0

SELECT login_name, LOCATE('ning',login_name,7) FROM user WHERE `login_name` ='liangningning';


FIND_IN_SET(str,strlist)函数,

假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (zhangliangliang,liangningning,wenjun,libin)
查询字段(strlist)中包含(str)的结果,返回结果为null或记录

LOCATE() 和FIND_IN_SET()

SELECT * from user_info WHERE LOCATE('is_staff',role_codes) >0;(精确查询,role_codes字段以,隔开,is_staff是其中一个类型,)
SELECT * from user_info WHERE LOCATE('staff',role_codes) >0;(查询是空)
SELECT * from user_info WHERE FIND_IN_SET('is_staff',role_codes) >0;(查询结果同下)
SELECT * from user_info WHERE FIND_IN_SET('staff',role_codes) >0;

 

 

posted @ 2018-05-03 09:16  白莲花の  阅读(802)  评论(0编辑  收藏  举报