APPLY_COUNT_ELEMENTS (ARRAY_LENGTH)

返回 集合(数组或集合) 中的元素总数,包括 NULL。要仅计算非空值,请使用 APPLY_COUNT (ARRAY_COUNT)

行为类型

不可变

语法

APPLY_COUNT_ELEMENTS(collection)

ARRAY_LENGTHAPPLY_COUNT_ELEMENTS 的同义词。

参数

collection
目标集合

NULL 处理

此函数计算所有成员,包括空值。

空集合(ARRAY[]SET[])的长度为 0。包含单个空值(ARRAY[null]SET[null])的集合的长度为 1。

示例

以下数组有 6 个元素,包括一个空值:

=> SELECT apply_count_elements(ARRAY[1,NULL,3,7,8,5]);
apply_count_elements
---------------------
                   6
(1 row)

如上例所示,空元素是一个元素。因此,一个只包含一个空元素的数组只有一个元素:

=> SELECT apply_count_elements(ARRAY[null]);
apply_count_elements
---------------------
                   1
(1 row)

集合不包含重复项。如果您构造一个集合并将其直接传递给此函数,则结果可能与输入的数量不同:

=> SELECT apply_count_elements(SET[1,1,3]);
apply_count_elements
---------------------
                   2
(1 row)