Mysql 查询逗号分隔字符串包含某个

有些时候为了方便,会把多个值存在一个字段里面,然后用逗号分隔。

例如关联了另外一个表的id,但是是1个对应多个,这个时候数据库字段值就会存以下格式

1,2,3,11,12

这个时候有个问题来了,我要查询这个字段里面是否包含1,如果用like查询

SELECT * FROM table_name WHERE ids like "%1%";

这样查询会把 11,12都查出来,不是我们想要的效果

解决办法

利用mysql 字符串函数 find_in_set();
 

SELECT * FROM table_name WHERE find_in_set('1', ids);

要注意的是:mysql字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/243852.html

(0)
上一篇 2022年4月11日
下一篇 2022年4月11日

相关推荐

发表回复

登录后才能评论