Использование CAST() с типами дата/время

We use cookies. Read the Privacy and Cookie Policy

Использование CAST() с типами дата/время

В некоторых местах этой главы вы встречали функцию CAST() в выражениях, содержащих типы данных даты и литералы даты. В настоящем разделе рассматриваются различные аспекты преобразования даты и времени более широко и подробно.

Преобразование между типами дата/время

Обычно преобразование из одного типа дата/время в другой возможно, если исходный тип дата/время содержит подходящий вид данных для помещения в выходной тип дата/время. Например, TIMESTAMP содержит данные, которые можно преобразовать в тип только даты DATE или только время TIME, В то время как тип TIME не содержит достаточно данных для преобразования в тип DATE. Firebird предоставляет возможность преобразовывать тип DATE В TIMESTAMP, присваивая времени значение полночи, и тип TIME в TIMESTAMP, выбирая дату из контекстной переменной CURRENT_DATE (серверное время). В табл. 10.9 представлены правила преобразования.

Таблица 10.9. Преобразования между типами дата/время в диалекте 3

Исходный тип

В тип TIMESTAMP

В тип DATE

В тип TIME

TIMESTAMP

Недоступно

Да, преобразует дату, игнорируя время

Да, преобразует время, игнорируя дату

DATE

Да, время устанавливается в значение полночи

Недоступно

Нет

TIME

Да, дате присваивается значение CURRENT_DATE

Нет

Недоступно

DATE + TIME

Да, CAST ( (DATEFIELD + TIMEFIELD AS TIMESTAMP)

Нет

Нет