Генерация числовой последовательности стр. 2 |
|||||
Вероятно, ввиду часто возникающей потребности в числовых последовательностях, в PostgreSQL имеется функция, которая возвращает такую последовательность:
Здесь Применение данной функции проще показать на примерах. Начнем с задачи, которая рассматривалась на предыдущей странице: Получить 100 последовательных незанятых номеров моделей, идущих за последним номером модели в таблице Product. Решение для PostgreSQL можно записать очень лаконично:
Преобразование типа здесь необходимо, поскольку номер модели (model) имеет тип VARCHAR. Следующий пример - это вывод алфавита, который мы получали с помощью SQL-рекурсии. Применим тот же алгоритм, а именно, к коду первой буквы будем последовательно добавлять единицы, после чего преобразуем полученные коды к символам:
Наконец, рассмотрим довольно часто возникающую необходимость получения последовательности дат. В связи с этим отметим, что третий параметр (step) может быть не только типа INT, но и типа INTERVAL. Последнее позволит нам непосредственно работать с последовательностями дат, минуя преобразование последовательности чисел к последовательности дат. Итак, Вывести последовательность дат между датами первого и последнего полета пассажира с id_psg=5.
Поскольку пока на внутренних страницах учебника есть возможность выполнять скрипты только под Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL Server, вы можете для выполнения приведенных здесь запросов воспользоваться консолью, выбрав PostgreSQL в списке поддерживаемых СУБД.
|