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 这样信息查出来的!

现在用这个 FIND_IN_SET 函数来查

select * from table where FIND_IN_SET(‘21‘,title);

这样就查出了, id 为 1 、2 、3 、6 这样四条信息了!

当然,也可以把title字段设置为-x-x-x-这样的格式,通过like查询%-x-%也行

时间: 2024-11-20 22:34:57

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

mysql中find_in_set()函数的使用

首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 .现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我们如何用sql查找所有type中有4的图文类型的文章呢?? 这就要我们的 find_in_set 出马的时候到了.以下为引用的内容: select * from article where FIND_IN_SET('4',type) ---------------------------------

mysql 使用 FIND_IN_SET 来查询数据

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函数使用方法

举个例子来说:有个文章表里面有个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 函数使用方法

举个例子来说: 有个文章表里面有个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) --------------------

(转)mysql 的 find_in_set函数使用方法

举个例子来说: 有个文章表里面有个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 代替 or 查询 ,where 条件查询 代替 or

select * from table sin where FIND_IN_SET('FAL5',CONCAT_WS(',', sin.DISPLAY_NAME,sin.ROUTE_CODE)) -- 查  DISPLAY_NAME 有FAL5  或者 ROUTE_CODE 有 FAL5 mysql基础 FIND_IN_SET 代替 or 查询 ,where 条件查询 代替 or 原文地址:https://www.cnblogs.com/angdh/p/11822969.html

Mysql中常用的函数

控制流函数IFNULL(expr1,expr2)如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境. mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,10); -> 10 mysql> select IFNULL(1/0,'yes');

Mysql中常用的函数汇总

Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回值e(自然对数的底)的x次方floor(x) 返回小于x的最大整数值greatest(x1,x2,...,xn)返回集合中最大的值least(x1,x2,...,xn) 返回集合中最小的值ln(x) 返回x的自然对数log(x,y)返回x的以y为底的对数mod(x,y) 返回x/y的模(余数)pi(

mysql 中find_in_set()和in()用法比较

在mysql中in可以包括指定的数字,而find_in_set()用于特定的数据类型. find_in_set 函数使用方法 个例子来说:有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文...1,12,13 等等 .现在有篇文章他既是 头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我们如何用sql查找所有type中有4图文标准的文章呢??这就要我们的 find_in_set 出马的时候到了.以下为引用的内容: select * from