我想将逗号分隔的 ID 列表与查询结果进行比较,如下所示:
select * from (values (2201322723),
(2201318904),
(2201299380),
(2164969641),
(5682476934),
(2201314720),
) as t(object_id)
EXCEPT
select object_id from star.dim_partner where entity = 'partners' and is_active is true;
上面的工作,然而,它需要我使用一个支持基于列的文本编辑器来添加圆括号(这个列表实际上有点长)。
是否有更简单/更好的方法可以使用 PostgreSQL 将逗号分隔列表转换为(临时)表?
有一点像:
select item as object_id from ARRAY[6058271246, 2201299240, 1801904030, 2097401903];
?
这将允许我在方括号之间剪切和粘贴任何 ID 列表。
你可以
string_to_array()
一起使用unnest()
或者,如果您使用的是 Postgres 14 或更高版本,则可以将其简化为