PostgreSQL如何在查询中使用CSV

时间:2015-10-09 12:30:02

标签: postgresql csv declare

好的我对postgres很新,所以请耐心等待。我一直在使用postgres中的string_agg函数来获取我的CSV。我想知道如何在查询中使用我的CSV。我在SQL服务器中使用DECLARE做到了这一点,但正如我所读到的那样,没有办法在postgres中全局DECLARE。任何帮助,文档,示例将不胜感激。

1 个答案:

答案 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