好的我对postgres很新,所以请耐心等待。我一直在使用postgres中的string_agg函数来获取我的CSV。我想知道如何在查询中使用我的CSV。我在SQL服务器中使用DECLARE做到了这一点,但正如我所读到的那样,没有办法在postgres中全局DECLARE。任何帮助,文档,示例将不胜感激。
答案 0 :(得分:1)
好的,基于您的问题和评论。 PostgreSQL具有ARRAY
类型,非常适合SQL语句,因此您可以从CSV字符串中创建一个数组,并在以下查询中使用它:
SELECT * FROM table WHERE record_id = ANY(string_to_array( string_agg , ','));
实际上根本不需要使用CSV。如果您有这样的选项更改,则首先使用array_agg
(而不是string_agg
)。
函数string_to_array(text, delimiter)
将字符串拆分为数组,并将分隔符作为参数传递。当“任意”数组元素等于record_id = ANY( array )
时,表达式TRUE
会返回record_id
,否则会返回FALSE
。