тип TIMESTAMP_NTZ

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

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

Эта функция предоставляется в режиме общедоступной предварительной версии. См. раздел "Заметки" для неподдерживаемых функций.

Чтобы использовать эту функцию в Delta Lake, необходимо включить поддержку таблицы. Поддержка функций включена автоматически при создании новой таблицы Delta с столбцом TIMESTAMP_NTZ типа. Он не включен автоматически при добавлении столбца TIMESTAMP_NTZ типа в существующую таблицу. Чтобы включить поддержку столбцов, необходимо явно включить поддержку TIMESTAMP_NTZ функции для существующей таблицы.

Включение поддержки обновления протокола таблицы. Узнайте, как Azure Databricks управляет совместимостью функций Delta Lake?. Следующая команда включает эту функцию:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampNtz' = 'supported')

Синтаксис

TIMESTAMP_NTZ

Ограничения

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

Литералы

TIMESTAMP_NTZ 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]' }
  • + или -: необязательный знак. - указывает 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 разрядов для долей секунды.

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

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

Примечания.

  • TIMESTAMP_NTZ В настоящее время тип еще не поддерживается в:
  • TIMESTAMP_NTZ тип поддерживается в источниках файлов, включая Delta/Parquet/ORC/AVRO/JSON/CSV. Однако существует ограничение вывода схемы для JSON/CSV-файлов с TIMESTAMP_NTZ столбцами. Для обратной совместимости тип метки времени по умолчанию используется или spark.read.csv(...)spark.read.json(...) будет тип TIMESTAMP вместо TIMESTAMP_NTZ.

Примеры

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

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

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

> SELECT current_timezone(), CAST(TIMESTAMP '2021-7-1T8:43:28' as TIMESTAMP_NTZ);
  America/Los_Angeles 2021-07-01 08:43:28

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

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