为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL查询在逗号分隔的字符串中查找值

MySQL查询在逗号分隔的字符串中查找值

ABOUTYOU 2019-06-15 10:38:48
MySQL查询在逗号分隔的字符串中查找值我有个领域COLORS (varchar(50))在我的桌子上SHIRTS,它包含以逗号分隔的字符串,如1,2,5,12,15,..表示可用颜色的每个数字。运行查询时select * from shirts where colors like '%1%'为了得到所有的红色衬衫(颜色=1),我还得到颜色为灰色(=12)和橙色(=15)的衬衫。我应该如何重写查询,以便只选择颜色1,而不是所有包含数字1的颜色?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

最经典的方法是在左边和右边加上逗号:

select * from shirts where CONCAT(',', colors, ',') like '%,1,%'

查找集也适用于:

select * from shirts where find_in_set('1',colors) <> 0


查看完整回答
反对 回复 2019-06-15
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

查找IN集你的朋友在这个案子里

select * from shirts where FIND_IN_SET(1,colors)


查看完整回答
反对 回复 2019-06-15
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

看一下查找IN集函数用于MySQL。

SELECT * 
    FROM shirts 
    WHERE FIND_IN_SET('1',colors) > 0


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 1321 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信