有个文章里面有个type字段,他存储的是文章类型,有1头条,2推荐,3热点,4图文,...,11,12,13等等。
现在有篇文章,他既是头条,又是热点和图文,
type是以1,3,4存储,
我们如何从sql中查找type中有4的文章那?
这时候我们用find_in_set,
select * from article where FIND_IN_SET('4',type);
----------------------------------------------------------------------------------
mysql手册中find_in_set函数的语法:
FIND_IN_SET(str,strList)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。
一个字符串列表就是一个由一些被“,”分开的子链组成的字符串。如果str不在N子链的字符串中,则返回0;如果任何一个参数为null,则返回null;
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2 因为b 在strlist集合中放在2的位置 从1开始
select FIND_IN_SET('2','1,2');返回2
select FIND_IN_SET('6','1'); 返回0