📜  MySQL字符串FIND_IN_SET()函数(1)

📅  最后修改于: 2023-12-03 15:03:08.099000             🧑  作者: Mango

MySQL字符串FIND_IN_SET()函数

MySQL字符串FIND_IN_SET()函数是一种字符串查找函数,用于在一个用逗号分隔的字符串列表中查找指定值,并返回其所在位置。

语法
FIND_IN_SET(needle, haystack)
  • needle:要查找的值
  • haystack:用逗号分隔的字符串列表
返回值

如果needlehaystack中找到,则返回其所在位置(从1开始),否则返回0。

示例

假设有一个名为colors的表,其中有一个名为color_list的列保存了以逗号分隔的颜色列表,如下所示:

| id | color_list | | --- | --- | | 1 | red,green,blue | | 2 | blue,yellow | | 3 | green,orange,red |

要查找哪些行包含颜色red,可以使用FIND_IN_SET()函数,如下所示:

SELECT * FROM colors WHERE FIND_IN_SET('red', color_list) > 0;

这将返回id为1和3的两行,因为它们的color_list列包含red

总结

MySQL字符串FIND_IN_SET()函数是一种非常实用的字符串查找函数,特别是在处理用逗号分隔的字符串列表时非常有用。在编写MySQL查询时,可以利用该函数轻松地查找指定值是否在给定的列表中。