MySQL查询以逗号分隔的字符串查找值
我的COLORS
(varchar(50))表格SHIRTS
中有一个字段,其中包含逗号分隔的字符串,例如1,2,5,12,15,
。每个数字代表可用的颜色。
运行查询select * from shirts where colors like '%1%'
以获取所有红色衬衫(颜色=
1)时,我还会获取颜色为灰色(= 12)和橙色(= 15)的衬衫。
我应该如何重写查询,以便仅选择颜色1而不是选择所有包含数字1的颜色?
回答:
经典方法是在左右添加逗号:
select * from shirts where CONCAT(',', colors, ',') like '%,1,%'
但是find_in_set也可以:
select * from shirts where find_in_set('1',colors) <> 0
以上是 MySQL查询以逗号分隔的字符串查找值 的全部内容, 来源链接: utcz.com/qa/424564.html