`

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函数的语法:

FIND_IN_SET(str,strlist) 

 

假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 

如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。 

例子:

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

返回结果 



 
因为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');

(也可写做select * from treenodes where FIND_IN_SET(id, '1,2,3,4,5') > 0; 

使用find_in_set函数一次返回多条记录 

id 是一个表的字段,然后每条记录分别是id等于1,2,3,4,5的时候 

有点类似in (集合) 

 

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

 

 

来源:http://www.cnblogs.com/52php/p/5668834.html

 

  • 大小: 1.8 KB
分享到:
评论

相关推荐

    mysql中find_in_set函数的基本使用方法

    FIND_IN_SET(str,strlist) 定义 假如字符串str在由多个子链组成的字符串列表strlist中,则返回值的范围在1到N之间。 一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。 如果第一个参数是一个...

    Mysql中FIND_IN_SET()和IN区别简析

    在MySQL数据库中,`FIND_IN_SET()` 和 `IN` 是两种不同的查询方法,它们在处理数据集时有不同的特性和应用场景。本文将对这两种方法进行详细对比,以帮助理解它们之间的差异。 `FIND_IN_SET()` 函数主要用于在一个...

    PostgreSQL find_in_set 内核开发

    博客:PostgreSQL的学习心得和知识总结(六十五)|关于PostgreSQL数据库 实现MySQL数据库find_in_set()函数 的实现方案

    mysql中find_in_set()函数的使用及in()用法详解

    在MySQL数据库中,`FIND_IN_SET()` 和 `IN()` 是两种不同的用于查询的函数,它们各有其特定的用途和应用场景。以下是对这两个函数的详细解释。 `FIND_IN_SET()` 函数主要用于在一个以逗号分隔的字符串列表中查找...

    MySQL的FIND_IN_SET函数使用方法分享

    很多时候我们在设计数据库... 先看mysql手册中find_in_set函数的语法: FIND_IN_SET(str,strlist) 假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。一个字符串列表就是一个由一些被

    mysql中find_in_set()函数的使用详解

    首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条、2推荐、3热点、4图文等等 。 现在有篇文章他既是头条,又是热点...MySQL手册中find_in_set函数的语法: FIND_IN_SET(str,strlist) str

    MySQL高效模糊搜索之内置函数locate instr position find_in_set使用详解

    在本文中,我们将重点讨论四个常用的函数:locate()、instr()、position() 和 find_in_set(),并解析它们的使用方法。 1. **locate()** 函数: locate() 函数与 Java 的 `indexOf()` 方法类似,用于在一个字符串中...

    Mysql中的find_in_set的使用方法介绍

    下面将详细介绍`FIND_IN_SET`的使用方法及其在实际应用中的注意事项。 `FIND_IN_SET`函数的基本语法如下: ```sql FIND_IN_SET(str, strlist) ``` - `str`:要查找的字符串。 - `strlist`:一个逗号分隔的字符串...

    mysql通过find_in_set()函数实现where in()顺序排序

    本文章来为各位介绍一篇关于mysql 实现按 where in () 中的顺序排序,用find_in_set() 函数的教程,希望此教程能够对各位有所帮助。 select * from table where id in ('783',' 769',' 814',' 1577',' 1769') ...

    MySql逗号拼接字符串查询的两种方法

    下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET 例如某字段里是为1,2,3,4,5  使用方法: 第一种,传入1,3,6 可以查出来 select * from XXX where FIND...

    完美解决mysql in条件语句只读取一条信息问题的2种方案

    为了解决这个问题,我们可以利用MySQL的`FIND_IN_SET()`函数。`FIND_IN_SET()`函数专门用于在逗号分隔的字符串列表中查找指定的字符串,并返回其位置。其基本语法如下: ```sql FIND_IN_SET(str, strlist) ``` - `...

    mysql分割字符串

    二、FIND_IN_SET函数 `FIND_IN_SET()`函数则常用于查找某个元素在由逗号分隔的字符串列表中的位置。其基本语法如下: ```sql FIND_IN_SET(str, str_list) ``` - `str`:要查找的元素。 - `str_list`:逗号分隔的...

Global site tag (gtag.js) - Google Analytics