тип TIME

Применяется к:check помеченный да флажок Databricks SQL помечен да Databricks Runtime 18.3 и более поздних версий

Important

Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

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

Syntax

TIME | TIME(p)

p: необязательная точность, указывающая количество дробных цифр в поле секунд. Допустимые значения:06 Если p опущено, точность по умолчанию равна 6 (микросекундам).

Limits

Диапазон поддерживаемых значений времени — 00:00:00.00000023:59:59.999999.

Литералы

TIME timeString

timeString
{ '[h]h:[m]m' |
  '[h]h:[m]m:[s]s' |
  '[h]h:[m]m:[s]s.[f...]' |
  '[h]h:[m]m AM|PM' |
  '[h]h:[m]m:[s]s AM|PM' |
  '[h]h:[m]m:[s]s.[f...] AM|PM' }
  • [h]h: один или два цифры часа между 00 и 23 (24-часовой формат) или между 01 и 12 (12-часовой формат с AM/PM).
  • [m]m: одна или две цифры минуты между 00 и 59.
  • [s]s: одна или две цифры секунды между 00 и 59.
  • [f...]: до 6 цифр для долей секунды.
  • AM или PM: необязательный суффикс регистра, указывающий 12-часовое значение часов.

Префикс TIME нечувствителен к регистру.

Если второй компонент не указан по умолчанию 0.

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

Правила точности

Если два TIME значения с разными точностью объединяются (например, в COALESCE, CASE, UNION или арифметике), результат использует более широкие значения двух точности.

Например, наименее распространенный TIME(3) тип и TIME(6) является TIME(6).

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

> SELECT CAST(TIME'12:30:45.987654' AS TIME(3));
  12:30:45.987

При добавлении или вычитании интервала дневного времени в TIMEрезультат используется более широкая TIME точность и доля секунды интервала. Например, TIME(0) + INTERVAL '1.123456' SECOND возвращает TIME(6). Если результат выходит за пределы [00:00:00, 24:00:00), Azure Databricks вызывает DATETIME_OVERFLOW.

Примечания.

Все операции с TIME значениями выполняются без учета часового пояса.

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

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

Тип TIME имеет следующие ограничения:

  • Не поддерживается в созданных столбцах.
  • Не поддерживается для индексов фильтров блума.
  • Не поддерживается для Z-Упорядочения.

Примеры

> SELECT TIME'10:30:00';
  10:30:00

> SELECT TIME'08:15';
  08:15:00

> SELECT TIME'23:59:59.123456';
  23:59:59.123456

> SELECT CAST('14:30:00' AS TIME);
  14:30:00

> SELECT CAST('09:15:30.5' AS TIME(3));
  09:15:30.500

> SELECT current_time();
  16:57:04.304361

> SELECT make_time(6, 30, 45.887);
  06:30:45.887000