我正在使用Postgres,并尝试编写如下查询:
select count(*) from table where datasets = ARRAY[]也就是说,我想知道某一列有多少行有空数组,但postgres不喜欢这样:
select count(*) from super_eds where datasets = ARRAY[];
ERROR:  syntax error at or near "]"
LINE 1: select count(*) from super_eds where datasets = ARRAY[];
                                                             ^发布于 2009-04-10 13:56:33
语法应为:
SELECT
     COUNT(*)
FROM
     table
WHERE
     datasets = '{}'您可以使用引号加大括号来显示数组文字。
发布于 2009-04-10 15:17:11
您可以利用空数组上的array_upper和array_lower函数返回null这一事实,因此您可以:
select count(*) from table where array_upper(datasets, 1) is null;发布于 2020-05-08 01:04:58
如果你像我一样在2020年找到这个问题,正确答案是
select count(*) from table where cardinality(datasets) = 0cardinality是在PostgreSQL 9.4中添加的,大约是2015年
https://stackoverflow.com/questions/737669
复制相似问题