gpt4 book ai didi

sql - MySQL查询以逗号分隔的字符串查找值

转载 作者:IT老高 更新时间:2023-10-28 12:52:32 30 4
gpt4 key购买 nike

我的表 SHIRTS 中有一个字段 COLORS (varchar(50)),其中包含逗号分隔的字符串,例如 1,2,5, 12,15,。每个数字代表可用的颜色。

当运行查询 select * from shirts where colours like '%1%' 以获取所有红色衬衫 (color=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

关于sql - MySQL查询以逗号分隔的字符串查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033047/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com