举个例子来说:
有个文章表里面有个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 之间。
一个字符串列表就是一个由一些被‘,’符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。
如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。

mysql> SELECT FIND_IN_SET('b','a,b,c,d');

-> 2 因为b 在strlist集合中放在2的位置 从1开始
--------------------------------------------------------
select FIND_IN_SET('1','1'); 返回 就是1 这时候的strlist集合有点特殊 只有一个字符串 其实就是要求前一个字符串 一定要在后一个字符串集合中 才返回 大于0的数

select FIND_IN_SET('2','1,2');返回2
select FIND_IN_SET('6','1'); 返回0
----------------------------------------------------------

注意:
select * from treenodes where FIND_IN_SET(id,'1,2,3,4,5');
使用find_in_set函数一次返回多条记录

id 是一个表的字段 然后每条记录分别是id等于1,2,3,4,5的时候
有点类似in (集合)

select * from treenodes where id in (1,2,3,4,5);


转载:http://1055592535.iteye.com/blog/1674734

更多相关文章

  1. 用PHP比较PHP中的字符串
  2. mySql中SUBSTRING_INDEX函数用法
  3. 如何用C++向MYSQL插入UNICODE字符串?
  4. 在H2数据库中插入时间——函数“PARSEDATETIME”未找到
  5. 由于底层异常,无法加载连接类:'java.lang.NumberFormatException:对
  6. MySQL 运算符和函数
  7. 使用QSqlDatabase类的open函数导致程序崩溃
  8. 如何在php imap函数中看到看不见的电子邮件
  9. MySQL 自定义函数.txt

随机推荐

  1. ADB—查看日志
  2. Android数据保存之文件保存
  3. Android使用MediaCodec将YUV硬编成H264
  4. Android判断当前的android设备是否处于联
  5. No resource found that matches the giv
  6. 解决 Android 模拟器 无法上网问题
  7. RelativeLayout布局及属性
  8. Android(安卓)寻找极限编码的「快感」
  9. 安卓开发小效果--走马灯
  10. Android 中Map应用所需的ApiKey的申请