MySql的FIND_IN_SET()查询函数的使用】的更多相关文章

表 table的结构如下: id title 1 12,21 2 21,32 3 45,21,78 4 221,45,74 5 34,421,121 6 52,21,321 现在用sql语句查出来字段里包含21的所有记录怎么办? select * from table where title=21 or title like ’%,21’ or title like ’%,21,%’ or title like ’21,%’ 这样查看看有问题吗? 肯定这样会把421 221 这样信息查出来的!…
首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 .现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我们如何用sql查找所有type中有4的图文类型的文章呢?? 这就要我们的 find_in_set 出马的时候到了.以下为引用的内容: ',type) ---------------------------------------------------------- MySQL手册中find_in_…
今天在做项目时,看到了一个从没见过的MySQL函数——FIND_IN_SET(),顿时就产生了浓郁的兴趣,然后就搜了搜,翻了翻. 语法:FIND_IN_SET(str,strlist) 定义: 1. 假如字符串str在由N子链组成的字符串列表strlist中,则返回值的范围在1到N之间. 2. 一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串. 3. 如果第一个参数是一个常数字符串,而第二个是typeSET列,则FIND_IN_SET()函数被优化,使用比特计算. 4. 如果str…
mysql中find_in_set函数很有意思,它的功能是查找以英文逗号隔开的值,我们可以将数据存储类似为1,2,3,4格式.今天我们就来看看在thinkphp中怎样正确地使用find_in_set函数进行数据查询. 在ThinkPHP中, 我们可以使用数组的形式组合查询条件,对于组装find_in_set时,可以有如下写法: $map['_string']="FIND_IN_SET(1,tid)";//tid为表字段 还可以组合多个find_in_set查询一起使用: $map['_…
本篇文章主要介绍mysql中FIND_IN_SET函数用法,用来精确查询字段中以逗号分隔的数据 以及其与 like 和 in 的区别 1.问题发现 之前在做工作任务时有这么一个需求:需要用接口所传的服务商编号和所开通的产品类型查询这张表中是否有此信息来做返回结果. 但公司的产品类型有多个,每个服务商可能开通了多个不同的产品类型,存入产品类型时用的是一个字段,用逗号分隔开存储. 这种场景下就需要精确查找其产品类型,我一开始想的是用 in 和 like 来实现,但实际使用后并不是这种效果...请看下…
举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文...1,12,13 等等 . 现在有篇文章他既是 头条,又是热点,还是图文, type中以 1,3,4 的格式存储. 那我们如何用sql查找所有type中有4图文标准的文章呢?? 这就要我们的 find_in_set 出马的时候到了. 以下为引用的内容: select * from article where FIND_IN_SET('4',type) --------------------…
举个例子来说: 有个文章表里面有个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) ----------------------…
举个例子来说: 有个文章表里面有个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函数,之前接触太浅,今天又涨点知识了.下面是做个测试 1.创建一张test表,并添加数据 2.编写sql 3.在试下其他sql 根据上面示例总结: 1. FIND_IN_SET(arg1,arg2)中arg1代表我们要查找的字符串,arg2代表中我们要匹配的列名. 2. FIND_IN_SET(arg1,arg2)中arg2中数据必须是要用 , 分割. 3. FIND_IN_SET(arg1,ar…
MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量组成,则任何成员变量中的 Null 将导致为整个表达式返回 True. SELECT g.name,g.type_id,t.type_id,t.type_name FROM game g LEFT JOIN game_type t ON t.type_id=g.type_id where not I…