服务器之家

服务器之家 > 正文

MySQL的FIND_IN_SET函数使用方法分享

时间:2019-12-29 17:01     来源/作者:MYSQL教程网

很多时候我们在设计数据库时有这种情况,比如: 

有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等 

现在有篇文章他既是 头条,又是热点,还是图文, 

type中以 1,3,4的格式存储. 

那们我们如何用sql查找所有type中有4图文标准的文章呢, 

这就要我们的find_in_set出马的时候到了. 

先看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 


用起来很简单 

就以上面我说到的情况来举例: 

以下为引用的内容: 

复制代码代码如下:


select * from article where FIND_IN_SET('4',type) 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部