首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL find_in_set函数的深入解析与应用

MySQL提供了一个非常实用的函数FIND_IN_SET()来处理这种特定的查询需求。本文将深入解析FIND_IN_SET()函数的使用方法,并通过具体的应用场景来展示其强大功能。...什么是FIND_IN_SET()? FIND_IN_SET()是MySQL中的一个字符串函数,用于搜索一个字符串在另一个逗号分隔的字符串列表中的位置。...FIND_IN_SET()的基本使用 让我们看一个简单的例子,如何使用FIND_IN_SET()函数来查找喜欢阅读的用户。...注意事项 在使用FIND_IN_SET()函数时,需要注意以下几点: FIND_IN_SET()对大小写敏感。 FIND_IN_SET()函数不支持模糊匹配。...如果strlist参数为空字符串,则函数返回0。 如果str参数为空字符串,则函数也返回0。 FIND_IN_SET()函数只能用于字符类型的字段,不能用于数字类型的字段。

47110

MySQLFIND_IN_SET探险记

但是又要实现不同产品需要不同等级不同分组的人员管理,在做数据库查询时,需要得到某字段中包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,查找资料后发现涉及到数据库的特有函数...,候mysqlFIND_IN_SET函数就派上用场了,下面来具体了解一下。...FIND_IN_SET(str,strlist) 第一个参数str是要查找的字符串。 第二个参数strlist是要搜索的逗号分隔的字符串列表。...贴图: SELECT FIND_IN_SET(1,1) ? 刚说好的字符串,你就给我来个这 ? ? ? ,mysql你怎么可以这么随意呢! ? ? ? 以上图示,有劳读友自行总结 ? ? ?...5、FIND_IN_SET和like的区别 like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果

1.9K10

mysqlFIND_IN_SET的使用方法

mysql中,有时我们在做数据库查询时,需要得到某字段中包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,这时候mysqlFIND_IN_SET...函数就派上用场了,下面来具体了解一下。...FIND_IN_SET(str,strlist)函数 str 要查询的字符串 strlist 字段名 参数以”,”分隔 如 (1,2,6,8) 查询字段(strlist)中包含(str)的结果,返回结果为...接下面查询btype字段中包含”20″这个参数的值 SELECT * from test where FIND_IN_SET('20',btype) 当然它的返回值为null,因为字段中没有这个值 FIND_IN_SET...和like的区别 like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。

18710

MySql常用函数(逻辑判断,字符串处理,日期函数)FIND_IN_SET、IF、ISNULL、IFNULL、NULLIF、SUBSTR、SUBSTRING_INDEX、CONCAT、LENGTH

数据库版本:MySql 5.7 FIND_IN_SET 定义: 在逗号分隔的字符串列表中查找指定字符串的位置 FIND_IN_SET(str,strlist) FIND_IN_SET()函数接受两个参数...第二个参数strlist是要搜索的逗号分隔的字符串列表 FIND_IN_SET()函数根据参数的值返回一个整数或一个NULL值: 如果str或strlist为NULL,则函数返回NULL值。...IF函数 定义: IF函数根据条件的结果为true或false,true 返回第一个值,false返回第二个值。...NULLIF(exper1,exper2) 字符串函数 SUBSTR SUBSTR (str, pos) 截取从pos位置开始到最后的所有str字符串,mysql中的start是从1开始的 SUBSTR...(str, pos, len) 参数说明: str为列名/字符串; pos为起始位置;mysql中的起始位置pos是从1开始的;如果为正数,就表示从正数的位置往下截取字符串(起始坐标从1开始),反之如果起始位置

1.4K10

mysql 多表关联查询 实现 全文匹配的 模糊搜索接口 SQLmysql 多表关联查询 实现 全文匹配的 模糊搜索接口 SQL

mysql 多表关联查询 实现 全文匹配的 模糊搜索接口 SQL SELECT tagDeptUserRel.* FROM tag_dept_user_rel tagDeptUserRel inner...tg.name from tag_group tg where tg.id = tagGroupShowUserRel.show_group_id)) like CONCAT('%','之剑','%') ; mysql...中FIND_IN_SET的使用方法 在mysql中,有时我们在做数据库查询时,需要得到某字段中包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,...这时候mysqlFIND_IN_SET函数就派上用场了,下面来具体了解一下。...FIND_IN_SET(str,strlist)函数 str 要查询的字符串 strlist 字段名 参数以”,”分隔 如 (1,2,6,8) 查询字段(strlist)中包含(str)的结果,返回结果为

2.4K20

mysql介绍+php效率常识

mysqlFIND_IN_SET函数使用方法 有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 …..11,12,13等等 现在有篇文章他既是 头条,又是热点,还是图文...先看mysql手册中find_in_set函数的语法: FIND_IN_SET(str,strlist) 假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到 N...如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。...mysql> SELECT FIND_IN_SET(‘b’,’a,b,c,d’); -> 2 用起来很简单,就以上面我说到的情况来举例: SELECT * FROM article WHERE FIND_IN_SET...(‘4′,TYPE) 备注:原认为FIND_IN_SET函数只能适用于set类型的字段,经过测试,发现,此函数可以适用于所有非数字类型的字段,但是存储的数据必须是已逗号隔开的。

2.9K90

MySQL实现树形递归查询

最近在做项目迁移,Oracle版本的迁到MySQL版本,遇到有些Oracle的函数MySQL并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。...递归查询  下面主要介绍Mysql方面的实现,Mysql并没有提供类似函数,所以只能通过自定义函数实现,网上很多这种资料,不过已经不知道那篇是原创了,这篇博客写的不错,https://www.2cto.com.../database/201209/152513.html, 下面我也是用作者提供的方法实现自己的,先感谢作者的分享 这里借用作者提供的自定义函数,再加上Find_in_set函数 find_in_set...=''">                 and find_in_set(u.unit_code,getunitChildList(#{unitCode}))                        ...    END IF;         SELECT GROUP_CONCAT(unit_code) INTO sChildTemp FROM LZCITY_APPROVE_UNIT_INFO WHERE FIND_IN_SET

1.6K00

Mysql实现树形递归查询

最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。...递归查询 下面主要介绍Mysql方面的实现,Mysql并没有提供类似函数,所以只能通过自定义函数实现,网上很多这种资料,不过已经不知道那篇是原创了,这篇博客写的不错,https://www.2cto.com.../database/201209/152513.html, 下面我也是用作者提供的方法实现自己的,先感谢作者的分享 这里借用作者提供的自定义函数,再加上Find_in_set函数 find_in_set...=''"> and find_in_set(u.unit_code,getunitChildList(#{unitCode})) <if test="unitName...END IF; SELECT GROUP_CONCAT(unit_code) INTO sChildTemp FROM LZCITY_APPROVE_UNIT_INFO WHERE <em>FIND_IN_SET</em>

5.5K30

mysql分区函数_mysql 分区可用函数

) SECOND() TIME_TO_SEC() TO_DAYS() WEEKDAY() YEAR() YEARWEEK() 等 当然,还有FLOOR(),CEILING() 等,前提是使用这两个分区函数的分区健必须是整型...EXPLAIN PARTITIONS跟踪发现都是全区扫描的,条件里加入WEEKDAY(visittime)这样的也不行 但是如果你插入的datetime字段是不带时间只有日期的话,where条件里没出现函数只用...=来判断日期,是可以分区搜索的 分区应该和索引一样,一但where中出现函数,就会全区扫描 下面的表PARTITION BY LIST (month(create_time)),Explain结果不太乐观...mysql> Explain partitions select * from rec_pay where create_time = ‘2014-06-01 00:00:00’ limit 20;...时发生 range:这个连接类型使用索引返回一个范围中的行,比如使用>或 index:以索引的顺序进行全表扫描,优点是不用排序,缺点是还要全表扫描 ALL:全表扫描,应该尽量避免 8 Extra:关于MYSQL

5.8K10

Mysql系列之实现树形递归查询

最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。...递归查询 下面主要介绍Mysql方面的实现,Mysql并没有提供类似函数,所以只能通过自定义函数实现,网上很多这种资料,不过已经不知道那篇是原创了,这篇博客写的不错,https://www.2cto.com.../database/201209/152513.html, 下面我也是用作者提供的方法实现自己的,先感谢作者的分享 这里借用作者提供的自定义函数,再加上Find_in_set函数 find_in_set...=''"> and find_in_set(u.unit_code,getunitChildList(#{unitCode})) <if test="unitName...END IF; SELECT GROUP_CONCAT(unit_code) INTO sChildTemp FROM LZCITY_APPROVE_UNIT_INFO WHERE <em>FIND_IN_SET</em>

75330
领券