Время чтения: 1 мин.
Чтобы округлить текущее время до ближайших 5 минут в PostgreSQL, можно использовать функцию date_trunc
в сочетании с операциями на времени. В данном случае вам нужно округлить время до ближайшего пятиминутного интервала. Вот пример запроса:
SELECT date_trunc('minute', now()) + INTERVAL '1 minute' * (5 - extract(minute from now()) % 5);
Объяснение:
date_trunc('minute', now())
обрезает текущую метку времени до минут (удаляет секунды).extract(minute from now()) % 5
находит остаток от деления текущих минут на 5, чтобы вычислить, сколько минут нужно добавить или вычесть для округления.INTERVAL '1 minute' * (5 - ...)
корректирует время, чтобы оно стало кратным 5 минутам.
Этот запрос возвращает текущее время, округленное до ближайших 5 минут.
Если нужно округлить в другую сторону (вниз или вверх), можно использовать различные подходы в зависимости от вашего контекста.
Добавить комментарий