MySQL中FIND_IN_SET的正确用法

avatar
作者
筋斗云
阅读量:0

FIND_IN_SET() 是 MySQL 函数,它用于在一个以逗号分隔的字符串列表中查找一个特定值的位置

FIND_IN_SET() 函数的语法如下:

FIND_IN_SET(value, set_string) 

其中,value 是要在 set_string 中查找的值,set_string 是包含逗号分隔的值列表的字符串。

以下是一个使用 FIND_IN_SET() 函数的示例:

假设我们有一个名为 students 的表,其中包含学生的 ID、姓名和课程列表(以逗号分隔)。

idnamecourses
1AliceMath,English,Science
2BobEnglish,History
3CarolScience,Geography

现在,我们想要找到选修了 “Math” 课程的所有学生。我们可以使用 FIND_IN_SET() 函数来实现这一目标:

SELECT * FROM students WHERE FIND_IN_SET('Math', courses) > 0; 

这将返回以下结果:

idnamecourses
1AliceMath,English,Science

在这个例子中,FIND_IN_SET('Math', courses) 返回非零值(即找到了 “Math”),因此我们得到了选修了 “Math” 课程的学生。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!