ARRAY_LENGTH
Returns the length of an array along the given dimension.
PostgreSQL 17.5
ARRAY_LENGTH(array, dimension)Parameters
- arrayanyarray
- Array
- dimensioninteger
- Dimension number, 1 for a regular array
Return value
An integer; NULL for an empty array
Examples
Array length by dimension
PostgreSQL 17.5
SELECT ARRAY_LENGTH(ARRAY [10, 20, 30], 1) AS len,
ARRAY_LENGTH(
ARRAY [[1, 2],
[3, 4],
[5, 6]], 2) AS second_dim,
ARRAY_LENGTH('{}'::integer[],
1
) AS empty_array;Number of family members per status
PostgreSQL 17.5
SELECT status,
ARRAY_LENGTH(ARRAY_AGG(member_name), 1) AS members
FROM FamilyMembers
GROUP BY status
ORDER BY status;Details
For an empty array the function returns NULL, not 0, so when counting, COALESCE(ARRAY_LENGTH(a, 1), 0) is useful. The total number of elements in all dimensions is returned by CARDINALITY, which gives 0 for an empty array.