тип TIMESTAMP

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime

Представляет значения, содержащие значения полей "год", "месяц", "день", "час", "минута" и "секунда", используя локальный часовой пояс сеанса. Значение метки времени представляет собой абсолютную точку во времени.

Синтаксис

TIMESTAMP

Ограничения

Поддерживаемый диапазон меток времени: -290308-12-21 BCE 19:59:06 GMT+294247-01-10 CE 04:00:54 GMT.

Литералы

TIMESTAMP timestampString

timestampString
{ '[+|-]yyyy[...]' |
  '[+|-]yyyy[...]-[m]m' |
  '[+|-]yyyy[...]-[m]m-[d]d' |
  '[+|-]yyyy[...]-[m]m-[d]d ' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h[:]' |
  '[+|-]yyyy[..]-[m]m-[d]d[T][h]h:[m]m[:]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us][zoneId]' }
  • + или -: необязательный знак. - указывает BCE, + указывает CE (по умолчанию).
  • yyyy: год, состоящий по меньшей мере из четырех цифр.
  • [m]m: месяц из одной-двух цифр от 01 до 12.
  • [d]d: день из одной-двух цифр от 01 до 31.
  • h[h]: час из одной-двух цифр от 00 до 23.
  • m[m]: минуты из одной-двух цифр от 00 до 59.
  • s[s]: секунды из одной-двух цифр от 00 до 59.
  • [ms][ms][ms][us][us][us]: до 6 разрядов для долей секунды.

zoneId:

  • Z — зулусский часовой пояс UTC+0
  • +|-[h]ч:[m]м
  • Идентификатор с одним из префиксов UTC+, UTC-, GMT+, GMT+, GMT-, UT+ или UT-, а также суффикс в форматах:
    • +|-ч[h]
    • +|-чч[:]мм
    • +|-чч:мм:сс
    • +|-ччммсс
  • Идентификаторы часовых поясов в зависимости от региона в форме <area>/<city>, например Europe/Paris.

Если значения месяца или дня не указаны, по умолчанию используется значение 1. Если значения часа, минуты или секунды не заданы, по умолчанию используется 0. Если значение zoneId не указано, по умолчанию используется часовой пояс сеанса.

Если литерал не представляет правильную метку времени Azure Databricks, возникает ошибка.

Примечания.

Метки времени с локальным часовым поясом внутренне нормализуются и сохраняются в формате UTC. При извлечении значения или его части применяется локальный часовой пояс сеанса.

Примеры

> SELECT TIMESTAMP'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), TIMESTAMP'2021-7-1T8:43:28UTC+3';
  America/Los_Angeles 2021-06-30 22:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP)
  1908-03-15 10:01:17

> SELECT TIMESTAMP'+10000';
  +10000-01-01 00:00:00