如何使用MySQL find_in_set函数查询字段包含指定值?
偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!
利用 mysql 的 find_in_set 函数查询字段包含指定值
在 mysql 数据库中,当表字段包含以逗号分隔的多个值时,我们无法像模糊查询那样直接找到匹配指定值的记录。这时,find_in_set 函数可以帮助解决此问题。
假设我们有一个表名为 “test”,其中包含以下 “ids” 字段值:
| ids | |---|---| | null | | 350 | | 34,35,36,37 |
如果我们需要查找包含数字 “35” 的记录,可以使用以下查询:
select * from test where find_in_set(35, ids)
find_in_set 函数将 “35” 作为第一个参数,将 “ids” 字段值作为第二个参数。该函数返回一个数字,表示 “35” 在 “ids” 字段值中的位置,如果不存在则返回 0。
上面写出的查询实际上寻找 “ids” 字段值中包含 “35” 的记录,因此它将返回以下结果:
| ids | |---|---| | 34,35,36,37 |
请注意,即使 “350” 也包含数字 “35”,但它不包含在由逗号分隔的纯数字字符串中,因此 find_in_set 函数不会将其匹配。
以上就是《如何使用MySQL find_in_set函数查询字段包含指定值?》的详细内容,更多关于的资料请关注主机宝贝公众号!