Содержание

Предыдущий раздел

Программирование

Следующий раздел

Нумерация строк результата запроса

Фильтрация элементов массива

Необходимо отфильтровать, к примеру, нечетные элементы массива:

SELECT array[1,2,3,4,5,6,7,8,9,10];
         array
------------------------
 {1,2,3,4,5,6,7,8,9,10}
(1 row)

Решение

Одним из самых быстрых и коротких решений будет использование пары функций unnest / array:

# SELECT array(
    SELECT el FROM unnest(array[1,2,3,4,5,6,7,8,9,10]) AS el WHERE el % 2 = 0
  ) AS result;
    result
--------------
 {2,4,6,8,10}

Дополнительная информация

PostgreSQL Documentation: Array Functions and Operators

comments powered by Disqus