gpt4 book ai didi

mysql - 在 sql 中将值从 ('1,2,3' ) 拆分为 ('1' ,'2' ,'3' ) 或 (1,2,3)

转载 作者:行者123 更新时间:2023-11-29 07:35:45 26 4
gpt4 key购买 nike

我有一个名为 category_ids (text) 的表字段,它将另一个表的 ID 保存为 "1,2,3"

现在我想将此 category_ids 用于 sql IN() 查询。查询类似于 tab1.category_id IN(从 tab2 中选择 category_ids)。但我面临的问题是 select category_ids from tab2 返回 '1,2,3' 所以 IN() 查询不起作用。

有什么简单的方法可以将 '1,2,3' 转换为 ('1','2','3')( 1,2,3) 在 sql 中?

最佳答案

您可以在此处使用 FIND_IN_SET:

SELECT *
FROM tab1
WHERE FIND_IN_SET(tab1.category_id,
(select category_ids from tab2));

这只是一个示例查询,您的实际查询可能会有所不同。但关键是,如果你想在 CSV 字符串 '1,2,3' 中搜索 '1',那么有一种方法可以做到。

正如其他人已经提到的,您应该避免在表格中存储 CSV 数据。当我看到 FIND_IN_SET 被大量使用时,通常会有一股气味。

关于mysql - 在 sql 中将值从 ('1,2,3' ) 拆分为 ('1' ,'2' ,'3' ) 或 (1,2,3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48946348/

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