gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 18:08:59 29 4
gpt4 key购买 nike

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

当运行查询select * fromshirts where colors 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/47552864/

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