PostgreSQL 如何在查询中使用 CSV

PostgreSQL How to use a CSV in a query

好的,我是 postgres 的新手,请多多包涵。我一直在使用 postgres 中的 string_agg 函数来获取我的 CSV。我想知道如何在查询中使用我的 CSV。我在 SQL 服务器中通过使用 DECLARE 做到了这一点,但正如我所读到的,没有办法在 postgres 中全局 DECLARE。任何帮助、文档、示例将不胜感激。

好的,基于您的问题和评论。 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 ) returns TRUE 当数组元素的 "any" 等于 record_idFALSE 否则