gpt4 book ai didi

用于设置和获取交集的 MySQL 字符串

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

我有一个错误投影的数据库,它在文本列中设置了一个 ID,例如“1,2,5,10”。我需要获得以相同方式设置的两列的交集。我不喜欢使用 PHP 或其他脚本语言,我也不喜欢 MySQL 自定义函数。有什么办法可以得到由逗号分隔符字符串给出的两个集合的交集?

其实我不需要完全交集,我只需要知道两组中是否有相同的数字。如果是,我需要有“1”,如果没有相同的数字,我需要有“0”。

谢谢。

最佳答案

您可以使用 REGEXP 通过一些巧妙的替换来做到这一点。

认为应该这样做(免责声明:尚未对其进行广泛测试):

SELECT col1,
col2,
CONCAT('(', REPLACE(col2, ',', '(\\,|$)|'), '(\\,|$))') AS regex,
col1 REGEXP CONCAT('(', REPLACE(col2, ',', '(\\,|$)|'), '(\\,|$))') AS intersect
FROM tbl

参见 http://sqlfiddle.com/#!2/7b86f/3

解释一下:这会将 col2 转换为正则表达式以匹配 col1(\,|$) 位匹配逗号或字符串结尾。希望这有助于...

关于用于设置和获取交集的 MySQL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317042/

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