gpt4 book ai didi

mysql - 如何使用逗号分隔值的交集进行选择?

转载 作者:行者123 更新时间:2023-11-29 06:02:50 25 4
gpt4 key购买 nike

我有一列包含逗号分隔值。

1,2,3
4,6,7
2,3,8
12234,5467,232445,232455,11223

根据给定的数组标准(例如,1,4,9),

如何选择值包含给定值的行?

我的意思是当我得到 1,4,9 时,我需要选择

1,2,3 -- has 1
4,6,7 -- has 4

更新

我有一个表,其中有一列其他实体的主键的逗号分隔值。我理解原来的表设计师这样做的原因。 other 实体实际上驻留在其他数据库中,这意味着不可连接。或者他或她只是想这样做。

学生表

id     name     classes
---------------------------
1 John 1,2,3
2 Jane 2,8,233423423

标准

使用给定的以逗号分隔的类(class)编号,找到参加其中任何类(class)的学生。

given: 1           -> select John
given: 233423423 -> select Jane
given: 1,233423423 -> select Both

最佳答案

您可以为正则表达式使用动态模板。例如:

SET @Criteria='1,4,9';
SELECT `name`
FROM STUDENT
WHERE STUDENT.classes REGEXP concat('(^|,)(', REPLACE(@Criteria, ',', '|'), ')(,|$)');

关于mysql - 如何使用逗号分隔值的交集进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43774451/

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