FIND_IN_SET()
是 MySQL 函数,它用于在一个以逗号分隔的字符串列表中查找一个特定值的位置
FIND_IN_SET()
函数的语法如下:
FIND_IN_SET(value, set_string)
其中,value
是要在 set_string
中查找的值,set_string
是包含逗号分隔的值列表的字符串。
以下是一个使用 FIND_IN_SET()
函数的示例:
假设我们有一个名为 students
的表,其中包含学生的 ID、姓名和课程列表(以逗号分隔)。
id | name | courses |
---|---|---|
1 | Alice | Math,English,Science |
2 | Bob | English,History |
3 | Carol | Science,Geography |
现在,我们想要找到选修了 “Math” 课程的所有学生。我们可以使用 FIND_IN_SET()
函数来实现这一目标:
SELECT * FROM students WHERE FIND_IN_SET('Math', courses) > 0;
这将返回以下结果:
id | name | courses |
---|---|---|
1 | Alice | Math,English,Science |
在这个例子中,FIND_IN_SET('Math', courses)
返回非零值(即找到了 “Math”),因此我们得到了选修了 “Math” 课程的学生。