登录    关于
马育民老师的博客

马育民的博客

QQ:65242847

mysql-逗号分割的字符串查询(find_in_set)

提出问题

如下图,该表中 likes 字段的值,是由 , 分割的多个 id

查询 likes 字段中,含有 2 的记录

解决

select * from student where FIND_IN_SET('2',likes)

find_in_set 作用

如下面sql,返回的是 21,2,3,4,5 中第一次出现的位置,从 1 开始

select FIND_IN_SET('2','1,2,3,4,5')

与 like 相比

比like更精准,如下:

select FIND_IN_SET('a','aa,b,c')

结果返回 0

使用 like ,如下:

select 'aa,b,c' like '%a%'

返回结果是 1 ,查询到了 aa,是不应该查询到的


原文出处:http://malaoshi.top/show_1IX20mbY81rb.html