📅  最后修改于: 2023-12-03 15:03:08.099000             🧑  作者: Mango
MySQL字符串FIND_IN_SET()函数是一种字符串查找函数,用于在一个用逗号分隔的字符串列表中查找指定值,并返回其所在位置。
FIND_IN_SET(needle, haystack)
needle
:要查找的值haystack
:用逗号分隔的字符串列表如果needle
在haystack
中找到,则返回其所在位置(从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查询时,可以利用该函数轻松地查找指定值是否在给定的列表中。