【发布时间】:2017-09-14 07:27:46
【问题描述】:
当行包含空数组 ({}) 时使用 array_agg 时出现问题。
这是我的 SQL 查询:
SELECT service_name, metric_name, array_agg(value_textarray)
FROM service_data
WHERE service_name = 'ActivityDataService'
GROUP BY service_name, metric_name
列定义如下:
service_name - text
metric_name - text
value_textarray - text[]
当我执行查询并且数据库中有空数组 ({}) 时,我收到以下错误:
ERROR: cannot accumulate empty arrays
我应该如何解决这个问题?
【问题讨论】:
-
只需在 WHERE 子句中添加“and array empty”?
-
确实如此。
AND value_textarray <> '{}'拿了蛋糕。谢谢。 -
或者:
and coalesce(cardinality(value_textarray),0) = 0
标签: sql postgresql