gpt4 book ai didi

MySQL 查询 : Match comma separated value with column containing comma separted string

转载 作者:行者123 更新时间:2023-11-29 15:39:01 26 4
gpt4 key购买 nike

我有一个用户表,其中包含一列(例如兴趣),以逗号分隔的兴趣 ID 作为值。例如

user  interests
A 12,13,15
B 10,11,12,15
C 9,13
D 10,12

现在,我有一个字符串,其中逗号分隔值为“13,15”。

我想从上表中获取兴趣为 13,15 的用户,这意味着它应该返回用户 A、B 和 C,因为用户 A 包含兴趣 (13,15),用户 B 则将兴趣与 15 & 匹配用户将兴趣与 13 匹配。

当我的表中有很多用户时,SQL 是什么。

最佳答案

可以像@1000111所说的那样使用正则表达式来完成,但是使用更复杂的正则表达式。看看这个,例如:

(^|,)(13|15)(,|$)

这不会匹配 135 中的 13,或 13 中的 1 等等。例如,对于数字 13,这将匹配接下来的字符串:

1,13,2
13,1,2
1,13
13,2
13

但不会匹配这些

1,135,2
131,2
1,113

这是查询:

SET @search = '13,15';

SELECT *
FROM test
WHERE interests REGEXP CONCAT('(^|,)(', REPLACE(@search, ',', '|'), ')(,|$)')

关于MySQL 查询 : Match comma separated value with column containing comma separted string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883163/

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