Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
тип
Область применения: Databricks SQL
Databricks Runtime 13.3 LTS и выше
Представляет значения полей года, месяца, дня, часа, минуты и секунды. Все операции выполняются без учета часового пояса.
Эта функция предоставляется в режиме общедоступной предварительной версии. См. раздел "Заметки" для неподдерживаемых функций.
Чтобы использовать эту функцию в Delta Lake, необходимо включить поддержку таблицы. Поддержка функций включена автоматически при создании новой таблицы Delta с столбцом TIMESTAMP_NTZ
типа. Он не включен автоматически при добавлении столбца типа TIMESTAMP_NTZ
в существующую таблицу. Чтобы включить поддержку столбцов TIMESTAMP_NTZ
, поддержка функции должна быть явно включена для существующей таблицы.
Включение поддержки улучшает протокол таблицы. См. сведения о совместимости функций 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
имеет следующие ограничения:
- Поддержка Photon требует Databricks SQL или Databricks Runtime 15.4 и более поздних версий.
- Не поддерживается в источниках данных Databricks, используемых в Power BI, Tableau, драйверах Databricks JDBC/ODBC или драйверах с открытым исходным кодом Databricks.
- Не поддерживается в Delta Sharing в Databricks Runtime 14.0 и более ранних версий.
-
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
Связанные темы
- типа
TIMESTAMP
- типа
DATE
- типа
INTERVAL
-
функция
cast