тип 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