Выражения со значениями даты-времени, оказывается, работают (кто бы мог подумать!) со значениями даты и времени. В таких выражениях могут появляться данные типа DATE, TIME, TIMESTAMP и INTERVAL. Результатом выполнения выражений со значениями даты-времени всегда является другое значение даты-времени. К значению этого типа можно прибавить (или отнять от него) какой-либо интервал, а также задать часовой пояс.
Вот пример выражения со значениями даты-времени (название DUE_DATE означает "срок возврата", a INTERVAL 7' DAY — "интервал в 7 дней"):
DUE_DATE + INTERVAL '7' DAY
Такое выражение можно использовать в библиотечной базе данных, чтобы определять, когда отправить напоминание "должникам". А вот новый пример, где, правда, указывается не дата, а время:
TIME '18:55:48' AT LOCAL
Ключевые слова AT LOCAL означают, что указано местное время.
Выражения со значениями интервалов работают с промежутками времени между значениями даты-времени. Имеются два вида интервалов: год-месяц и день-время. Их нельзя использовать в одном и том же выражении.
Приведем пример использования интервалов. Скажем, кто-то возвращает в библиотеку книгу после истечения крайнего срока. Тогда, используя выражение со значениями интервалов, такое, например, как приведено в следующем примере, можно вычислить, сколько прошло дней задержки после крайнего срока, и соответственно назначить пеню (названия DATE_RETURNED и DATE_DLIE означают соответственно "дата возврата" и "крайний срок"):
(DATE_RETURNED-DATE_DUE) DAY
Так как интервал может быть типа год-месяц либо день-время, то следует указать, какой из них использовать. В последнем примере с помощью ключевого слова DAY (день) выбран второй.