当前位置: 首页 >> Mysql >> mysql查找以逗号分隔字符串字段中,精确匹配包含条件的结果 >> 正文

mysql查找以逗号分隔字符串字段中,精确匹配包含条件的结果

2年前 (2017-05-24)     作者:4869     分类:Mysql     阅读次数:4322     评论(0)    文章页统计代码
表数据示例:
+----+----------+
| id | ids      |
+----+----------+
|  1 | 1,2,3,   |
|  2 | 2,10,14, |
+----+----------+

要求:查询ids列中包含1的结果
1)用like关键字(错误)
SELECT * FROM `my_test` WHERE ids LIKE '%1%';
+----+----------+
| id | ids      |
+----+----------+
|  1 | 1,2,3,   |
|  2 | 2,10,14, |
+----+----------+

2)用FIND_IN_SET函数(正确)
SELECT * FROM my_test WHERE FIND_IN_SET(1, ids);
+----+--------+
| id | ids    |
+----+--------+
|  1 | 1,2,3, |
+----+--------+

结论:用like会把所有包含1的数据查出来,包括12,13等;
但是用FIND_IN_SET不会,相当于在字段里面用逗号分隔后精确匹配,只会查询包含等于1的结果


除非注明,发表在“石马人山的博客”的文章『mysql查找以逗号分隔字符串字段中,精确匹配包含条件的结果』版权归4869所有。 转载请注明出处为“本文转载于『石马人山的博客』原地址http://longlonggo.com/post/365.html
文章页分享代码

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站