Глава 4. Типы данных СУБД PostgreSQL Выберем только СУБД с открытым исходным кодом:
SELECT * FROM databases WHERE is_open_source; is_open_source | dbms_name
----------------+------------
t
| PostgreSQL
t
| MySQL
(2 строки)
Обратите внимание, что в условии WHERE для проверки логических значений можно
не писать выражение WHERE is_open_source = 'yes', а достаточно просто указать
имя столбца, содержащего логическое значение: WHERE is_open_source.
4.5. Массивы PostgreSQL позволяет создавать в таблицах такие столбцы, в которых будут содер-
жаться не скалярные значения, а массивы переменной длины. Эти массивы могут
быть многомерными и могут содержать значения любого из встроенных типов, а так-
же типов данных, определенных пользователем.
Предположим, что нам необходимо сформировать и сохранить в базе данных в удоб-
ной форме графики работы пилотов авиакомпании, т. е. номера дней недели, когда
они совершают полеты. Создадим таблицу, в которой эти графики будут храниться
в виде единых списков, т. е. в виде одномерных массивов.
CREATE TABLE pilots ( pilot_name text, schedule integer[] ); CREATE TABLE
Для указания на то, что это массив, нужно добавить квадратные скобки к наимено-
ванию типа данных. При этом задавать число элементов не обязательно.
Давайте добавим в таблицу четыре строки. Массив в команде вставки представлен
в виде строкового литерала с указанием типа данных и квадратных скобок, означаю-
щих массив. Обратите внимание, что все массивы имеют различное число элементов.
64