PostgreSQL | Как узнать длину массива?

PostgreSQL | Как узнать длину массива?

Пример SQL-команды, которая выведет длину одномерного массива:

SELECT array_length(ARRAY[8,6,4], 1);

Функция array_length() принимает два параметра:

  1. Сам массив, по которому нужно вычислить длину
  2. Размерность массива

Если массив состоит только из идентификаторов целых чисел, то размерность выставляем на 1.

 

Другие примеры в зависимости от глубины массива и размерностей вложенных (глубинных) массивов

SELECT array_length(ARRAY[ARRAY[1,2], ARRAY[3,4]], 1); -- 2
SELECT array_length(ARRAY[ARRAY[1,2], ARRAY[3,4]], 2); -- 2
SELECT array_length(ARRAY[ARRAY[1,2], ARRAY[3,4]], 3); -- null

SELECT array_length(ARRAY[ARRAY[1], ARRAY[3]], 1); -- 2
SELECT array_length(ARRAY[ARRAY[1], ARRAY[3]], 2); -- 1
SELECT array_length(ARRAY[ARRAY[1,2,3], ARRAY[3,4,5]], 3); -- null

Если говорить простыми словами, то размерность массива в PostgreSQL это длина вложенного массива на определённой глубине.

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org

Раздел «4.2.12. Конструкторы массивов» — https://postgrespro.ru/docs/postgresql/14/sql-expressions#SQL-SYNTAX-ARRAY-CONSTRUCTORS