Function Reference

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;
lensecond_dimempty_array
32<NULL>

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;
statusmembers
daughter3
father2
mother2
son1

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.

See also