如何使用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函数查询字段包含指定值?的详细内容,更多请关注其它相关文章!