gpt4 book ai didi

sql - 在Postgres中将逗号分隔的字符串转换为整数数组

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

我正在尝试将逗号分隔的字符串转换为整数数组 (integer[]) 以在 Where 子句中使用。

我试过强制转换,::Int 但没有用。感谢您的意见

例子

Table A   |  Table B
ID | Set_id
2 | 14,16,17
1 | 15,19,20
3 | 21

我的查询:

Select * 
from Table a, table b
where a.id in b.set_id

最佳答案

如果要将字符串用于连接条件,则需要将字符串转换为适当的整数数组。

Select * 
from Table a
join table b on a.id = any(string_to_array(b.set_id, ',')::int[]);

但是好得多的解决方案是正确规范化您的表(或者至少将这些 ID 存储在整数数组中,而不是 varchar 列中)

关于sql - 在Postgres中将逗号分隔的字符串转换为整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45304552/

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