PostgreSQL: округление текущего времени до 5 минут

от автора

в
Время чтения: 1 мин.

Чтобы округлить текущее время до ближайших 5 минут в PostgreSQL, можно использовать функцию date_trunc в сочетании с операциями на времени. В данном случае вам нужно округлить время до ближайшего пятиминутного интервала. Вот пример запроса:

SELECT date_trunc('minute', now()) + INTERVAL '1 minute' * (5 - extract(minute from now()) % 5);

Объяснение:

  1. date_trunc('minute', now()) обрезает текущую метку времени до минут (удаляет секунды).
  2. extract(minute from now()) % 5 находит остаток от деления текущих минут на 5, чтобы вычислить, сколько минут нужно добавить или вычесть для округления.
  3. INTERVAL '1 minute' * (5 - ...) корректирует время, чтобы оно стало кратным 5 минутам.

Этот запрос возвращает текущее время, округленное до ближайших 5 минут.

Если нужно округлить в другую сторону (вниз или вверх), можно использовать различные подходы в зависимости от вашего контекста.


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сколько будет 7 + 1?