SQL генерирует набор дат - PullRequest
       6

SQL генерирует набор дат

4 голосов
/ 05 февраля 2009

Я пытаюсь найти способ, чтобы оператор SELECT возвращал набор дат между 2 входными датами с заданным интервалом. Я хотел бы иметь возможность легко изменять временные рамки и интервал, который будет возвращен, поэтому жесткое кодирование чего-либо с помощью серии SELECT ... UNION не будет идеальным.

Например: я хочу, чтобы все даты с интервалом в 5 секунд за последние 60 секунд.

Ожидаемое:

            times
---------------------
2009-02-05 08:00:00
2009-02-05 08:00:05
2009-02-05 08:00:10
2009-02-05 08:00:15
2009-02-05 08:00:20
...
2009-02-05 08:00:55

Edit: generate_series (...) может использоваться вместо таблицы в SELECT и имитирует таблицу с серией чисел в ней с заданным начальным значением, конечным значением и, необязательно, шагом. Оттуда это может быть CAST к типу, который мне нужен для функций времени и которыми манипулируют во время SELECT.

Спасибо, Кассной.

1 Ответ

4 голосов
/ 05 февраля 2009
SELECT CAST (s || ' seconds' AS INTERVAL) + TIMESTAMP 'now'
FROM generate_series(0, -60, -5) s
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...