SQLсервер в Linux -самостоятельное освоение пакета

         

Константы даты и времени



Таблица 3.23. Константы даты и времени

Константа

Описание

current

Текущее (отложенное) время обработки транзакции. В отличие от now не привязывается к конкретному моменту времени и возвращает текущее системное время

epoch infinity

1970-01-01 00:00:00+00 («день рождения» Unix)
Абстрактная константа, более «поздняя» по сравнению со всеми допустимыми значениями даты и времени

-infinity

Абстрактная константа, более «ранняя» по сравнению со всеми допустимыми значениями даты и времени

now

Фиксированное время обработки транзакции

today

Полночь текущего дня

tomorrow

Полночь следующего дня

yesterday

Полночь предыдущего дня

В PostgreSQL также поддерживаются три встроенные функции для получения текущего времени, даты и их комбинации. Для них были выбраны подходящие имена current_date, current_time и current_timestamp.

Если судить только по именам, константы now и current на первый взгляд кажутся идентичными. В действительности они принципиально различаются по способу хранения в таблице. Константа now транслируется в системное время на момент выполнения команды (например, время вставки, если константа используется в команде INSERT). С другой стороны, константа current обычно применяется в особых случаях (например, при отслеживании сведений о процессах) для вычисления разности между начальным временем, зафиксированным константой now, и текущим временем; результат определяет время выполнения процесса. В листинге 3.28 константы now и current используются для построения журнала задач. Первая команда создает таблицу с полями для хранения имени задачи, начальной и конечной даты/времени. В таблице создаются записи двух задач, при этом начальное время задается константой now, а конечное время — константой current. Из листинга видно, что обе задачи не завершены.

ВМИМАНИЕ

Константы даты/времени, как показано в листинге 3.28, обязательно заключаются в апострофы.



Содержание раздела