Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Stellt Zeitintervalle entweder auf einer Skala von Sekunden oder Monaten dar.
Syntax
INTERVAL { yearMonthIntervalQualifier | dayTimeIntervalQualifier }
yearMonthIntervalQualifier
{ YEAR [TO MONTH] |
MONTH }
dayTimeIntervalQualifier
{ DAY [TO { HOUR | MINUTE | SECOND } ] |
HOUR [TO { MINUTE | SECOND } ] |
MINUTE [TO SECOND] |
SECOND }
Notizen
Intervalle, die Jahre oder Monate umfassen, werden als Jahr-Monat-Intervalle bezeichnet.
Intervalle, die Tage, Stunden, Minuten oder Sekunden umfassen, werden als Tag-Zeit-Intervalle bezeichnet.
Sie können Jahr-Monat- und Tag-Zeit-Intervalle nicht kombinieren oder vergleichen.
Tag-Zeit-Intervalle basieren absolut auf 86400s/Tag und 60s/min.
Mikrosekunden sind stets in Sekunden inbegriffen.
Grenzwerte
Ein Jahr-Monat-Intervall hat einen maximalen Bereich von +/- 178,956,970 Jahren und 11 Monaten.
Ein Tag-Zeit-Intervall hat einen maximalen Bereich von +/- 106,751,991 Tagen, 23 Stunden, 59 Minuten und 59.999999 Sekunden.
Literale
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: die verstrichene Anzahl von Jahren. -
m: die verstrichene Anzahl von Monaten. -
d: die verstrichene Anzahl von Tagen. -
h: die verstrichene Anzahl von Stunden. -
m: die verstrichene Anzahl von Minuten. -
s: die verstrichene Anzahl von Sekunden. -
ms: die verstrichene Anzahl von Millisekunden. -
us: die verstrichene Anzahl von Mikrosekunden.
Sofern eine Einheit nicht die führende Einheit von intervalQualifier darstellt, muss sie innerhalb des vorgegebenen Bereichs liegen:
- Monate: im Bereich von 0 bis 11
- Stunden: im Bereich von 0 bis 23
- Minuten: im Bereich von 0 bis 59
- Sekunden: im Bereich von 0,000000 bis 59,999999
Sie können ein Vorzeichen entweder innerhalb oder außerhalb von intervalString einfügen.
Beim Vorzeichen - ist das Intervall negativ. Bei zwei oder keinem Vorzeichen - ist das Intervall negativ.
Wenn die Komponenten in intervalString nicht mit den Komponenten in intervalQualifier übereinstimmen, wird ein Fehler ausgelöst.
Wenn der Wert von intervalString nicht in den durch intervalQualifier angegebenen Bereich passt, wird ein Fehler ausgelöst.
Beispiele
> 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