INTERVAL
type
Van toepassing op: Databricks SQL Databricks Runtime
Vertegenwoordigt intervallen van tijd op een schaal van seconden of maanden.
Syntaxis
INTERVAL { yearMonthIntervalQualifier | dayTimeIntervalQualifier }
yearMonthIntervalQualifier
{ YEAR [TO MONTH] |
MONTH }
dayTimeIntervalQualifier
{ DAY [TO { HOUR | MINUTE | SECOND } ] |
HOUR [TO { MINUTE | SECOND } ] |
MINUTE [TO SECOND] |
SECOND }
Opmerkingen
Intervallen voor jaren of maanden worden jaarmaandintervallen genoemd.
Intervallen voor dagen, uren, minuten of seconden worden dag-tijdintervallen genoemd.
U kunt jaarmaand- en dagtijdintervallen niet combineren of vergelijken.
Dag-tijdintervallen zijn strikt gebaseerd op 86400s/dag en 60s/min.
Seconden worden altijd beschouwd als microseconden.
Limieten
Een interval van een jaarmaand heeft een maximaal bereik van +/- 178,956,970
jaren en 11
maanden.
Een dag-tijdsinterval heeft een maximaal bereik van +/- 106,751,991
dagen, 23
uren, 59
minuten en 59.999999
seconden.
Letterlijke waarden
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
: Het verstreken aantal jaren.m
: Het verstreken aantal maanden.d
: Het verstreken aantal dagen.h
: Het verstreken aantal uren.m
: Het verstreken aantal minuten.s
: Het verstreken aantal seconden.ms
: Het verstreken aantal milliseconden.us
: Het verstreken aantal microseconden.
Tenzij een eenheid de voorloopeenheid van de intervalQualifier
eenheid vormt, moet deze binnen het gedefinieerde bereik vallen:
- Maanden: tussen 0 en 11
- Uren: tussen 0 en 23
- Minuten: tussen 0 en 59
- Seconden: tussen 0.000000 en 59.999999
U kunt een teken binnen of buiten intervalString
voorvoegsel toevoegen.
Als er één -
teken is, is het interval negatief. Als er twee of geen -
tekenen zijn, is het interval positief.
Als de onderdelen in de intervalString
onderdelen niet overeenkomen met de onderdelen in de intervalQualifier
fout.
Als de intervalString
waarde niet in het bereik past dat is opgegeven door de intervalQualifier
fout wordt gegenereerd.
Voorbeelden
> 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