Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
тип
Область применения:
Databricks SQL
Databricks Runtime
Представляет интервалы времени либо в секундах, либо в месяцах.
Синтаксис
INTERVAL { yearMonthIntervalQualifier | dayTimeIntervalQualifier }
yearMonthIntervalQualifier
{ YEAR [TO MONTH] |
MONTH }
dayTimeIntervalQualifier
{ DAY [TO { HOUR | MINUTE | SECOND } ] |
HOUR [TO { MINUTE | SECOND } ] |
MINUTE [TO SECOND] |
SECOND }
Примечания.
Интервалы, охватывающие годы или месяцы, называются интервалами год-месяц.
Интервалы, охватывающие дни, часы, минуты или секунды, называются интервалами времени дня.
Такие интервалы нельзя объединять или сравнивать с интервалами год-месяц.
Интервалы времени дня строго основываются на значениях 86 400 секунд в дне и 60 секунд в минуте.
В секундах всегда учитываются микросекунды.
Ограничения
Для интервала год-месяц предусмотрен максимальный диапазон +/- 178,956,970 лет и 11 месяцев.
Интервал времени дня имеет максимальный диапазон +/- 106,751,991 день, 23 часа, 59 минут и 59.999999 секунды.
Литералы
year-month interval
INTERVAL [+|-] yearMonthIntervalString yearMonthIntervalQualifier
day-time interval
INTERVAL [+|-] dayTimeIntervalString dayTimeIntervalQualifier
yearMonthIntervalString
{ '[+|-] y[...]' |
'[+|-] y[...]-[m]m' }
dayTimeIntervalString
{ '[+|-] d[...]' |
'[+|-] d[...] [h]h' |
'[+|-] d[...] [h]h:[m]m' |
'[+|-] d[...] [h]h:[m]m:[s]s' |
'[+|-] d[...] [h]h:[m]m:[s]s.ms[ms][ms][us][us][us]' |
'[+|-] h[...]' |
'[+|-] h[...]:[m]m' |
'[+|-] h[...]:[m]m:[s]s' |
'[+|-] h[...]:[m]m:[s]s.ms[ms][ms][us][us][us]' |
'[+|-] m[...]' |
'[+|-] m[...]:[s]s' |
'[+|-] m[...]:[s]s.ms[ms][ms][us][us][us]' |
'[+|-] s[...]' |
'[+|-] s[...].ms[ms][ms][us][us][us]' }
-
y: прошедшее количество лет. -
m: прошедшее количество месяцев. -
d: прошедшее количество дней. -
h: прошедшее количество часов. -
m: прошедшее количество минут. -
s: прошедшее количество секунд. -
ms: прошедшее количество миллисекунд. -
us: прошедшее количество микросекунд.
Если единица измерения не является ведущей единицей intervalQualifier, она должна находиться в пределах определенного диапазона:
- Месяцы: от 0 до 11
- Часы: от 0 до 23
- Минуты: от 0 до 59
- Секунды: от 0,000000 до 59.999999
Знак можно добавить в префикс внутри или снаружи intervalString.
Если имеется один - знак, то интервал является отрицательным. Если число знаков два или без - знаков, то интервал будет положительным.
Если компоненты в intervalString не совпадают с компонентами в intervalQualifier, возникает ошибка.
Если значение intervalString не умещается в диапазон, заданный с помощью intervalQualifier, возникает ошибка.
Примеры
> SELECT INTERVAL '100-00' YEAR TO MONTH;
100-0
> SELECT INTERVAL '-3600' MONTH;
-300-0
> SELECT INTERVAL -'200:13:50.3' HOUR TO SECOND;
-200:13:50.3
> SELECT typeof(INTERVAL -'200:13:50.3' HOUR TO SECOND);
interval hour to second
> SELECT CAST('11 23:4:0' AS INTERVAL DAY TO SECOND);
11 23:04:00
-- Binding in a STRING parameter to an INTERVAL.
> EXECUTE IMMEDIATE 'SELECT CAST(:parm AS INTERVAL MINUTE TO SECOND)' USING '5:30' AS parm;
5:30
Связанные
- типа
DATE - типа
TIMESTAMP -
castфункция