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” 課程的學生。