Справочник по функциям

ARRAY_LENGTH

Возвращает длину массива по указанному измерению.

PostgreSQL 17.5
ARRAY_LENGTH(array, dimension)

Параметры

arrayanyarray
Массив
dimensioninteger
Номер измерения, для обычного массива — 1

Возвращаемое значение

Целое число (integer); NULL для пустого массива

Примеры

Длина массива по измерениям

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>

Число членов семьи в каждом статусе

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

Подробности

Для пустого массива функция возвращает NULL, а не 0, поэтому при подсчёте пригодится COALESCE(ARRAY_LENGTH(a, 1), 0). Общее число элементов во всех измерениях возвращает CARDINALITY, и для пустого массива она даёт 0.

Смотрите также