Функции для даты и времени

Функции для даты и времени — это функции для работы с данными типов DATE, TIME, TIMESTAMP и TIMESTAMPTZ.

current_time()

Описание

Возвращает текущее время в виде значения типа TIME.

Использование

current_time или current_time()

Псевдонимы

get_current_time()

Посмотреть пример
SELECT
    current_time       AS cur_time_1,
    current_time()     AS cur_time_2,
    get_current_time() AS cur_time_3;
+-----------------+-----------------+-----------------+
|    cur_time_1   |    cur_time_2   |    cur_time_3   |
+-----------------+-----------------+-----------------+
| 10:33:24.016000 | 10:33:24.016000 | 10:33:24.016000 |
+-----------------+-----------------+-----------------+

datepart()

Описание

Возвращает указанную часть от значения даты или времени в виде значения
типа BIGINT.

Использование

datepart('<part>', (TIME | DATE | ...) '<date_time>')

Псевдонимы

date_part()

Аргументами могут быть значения типов: TIME, DATE, TIMESTAMP или TIMESTAMPTZ.

Части могут быть указаны с помощью литералов:

  • century — век

  • day — день

  • decade — десятилетие

  • hour — час

  • microseconds — микросекунды

  • millennium — тысячелетие

  • milliseconds — миллисекунды

  • minute — минута

  • month — месяц

  • quarter — квартал

  • second — секунда

  • year — год

Посмотреть пример
SELECT
    datepart('milliseconds', TIMESTAMP '2025-02-25 00:00:00.1') AS milliseconds,
    datepart('hour',         TIME '2025-02-25 00:00:00')        AS hour,
    datepart('millennium',   DATE '2025-02-25')                 AS millennium;
+--------------+------+------------+
| milliseconds | hour | millennium |
+--------------+------+------------+
| 100          | 0    | 3          |
+--------------+------+------------+

Оператор +

Описание

Прибавляет интервал к значению времени. Возвращает значение типа TIME.

Использование

TIME + INTERVAL [+ ...]

Посмотреть пример
SELECT
    TIME '12:11:10'     + INTERVAL 3 hours AS result_time_1,
    INTERVAL '12:11:10' + TIME '1:1:1'     AS result_time_2;
+---------------+---------------+
| result_time_1 | result_time_2 |
+---------------+---------------+
| 15:11:10      | 13:12:11      |
+---------------+---------------+

Оператор -

Описание

Вычитает интервал из значения времени. Возвращает значение типа TIME.

Использование

TIME - INTERVAL [- ...]

Посмотреть пример
SELECT
    TIME '12:11:10' - INTERVAL 3 HOUR AS result_time_1,
    TIME '12:11:10' - INTERVAL 3 HOUR - INTERVAL 1 HOUR AS result_time_2;
+---------------+---------------+
| result_time_1 | result_time_2 |
+---------------+---------------+
| 09:11:10      | 08:11:10      |
+---------------+---------------+