Spec-Zone .ru
спецификации, руководства, описания, API

11.3.7. Преобразование Между Типами Даты и Времени

До некоторой степени можно преобразовать значение от одного временного типа до другого. Однако, может быть некоторое изменение значения или потеря информации. Во всех случаях преобразование между временными типами подвергается диапазону допустимых значений для получающегося типа. Например, хотя DATE, DATETIME, и TIMESTAMP у значений все могут быть определены, используя тот же самый набор форматов, типы, все нет того же самого диапазона значений. TIMESTAMP значения не могут быть ранее чем 1970 UTC или позже чем '2038-01-19 03:14:07' UTC. Это означает что дата такой как '1968-01-01', в то время как допустимый как a DATE или DATETIME оцените, не допустимо как a TIMESTAMP оцените и преобразовывается в 0.

Преобразование DATE значения:

Преобразование DATETIME и TIMESTAMP значения:

Преобразование TIME значения к другим временным типам являются определенной версией:

Явное преобразование может использоваться, чтобы переопределить неявное преобразование. Например, по сравнению с DATE и DATETIME значения, DATE значение принуждается к DATETIME тип, добавляя часть времени '00:00:00'. Выполнять сравнение, игнорируя часть времени DATETIME значение вместо этого, используйте CAST() функция следующим образом:

date_col = CAST(datetime_col AS DATE)

Преобразование TIME и DATETIME значения к числовой форме (например, добавляя +0) происходит следующим образом: