INTERVAL
típus
A következőkre vonatkozik: Databricks SQL Databricks Runtime
Az időintervallumokat másodpercek vagy hónapok skáláján jelöli.
Syntax
INTERVAL { yearMonthIntervalQualifier | dayTimeIntervalQualifier }
yearMonthIntervalQualifier
{ YEAR [TO MONTH] |
MONTH }
dayTimeIntervalQualifier
{ DAY [TO { HOUR | MINUTE | SECOND } ] |
HOUR [TO { MINUTE | SECOND } ] |
MINUTE [TO SECOND] |
SECOND }
Jegyzetek
Az éveket vagy hónapokat tartalmazó intervallumokat év-hónap intervallumnak nevezzük.
A napokat, órákat, perceket vagy másodperceket lefedő intervallumokat nap-idő intervallumnak nevezzük.
Az éves és a napi időintervallumok nem kombinálhatók és nem hasonlíthatók össze.
A napi időintervallumok szigorúan a 86400s/day és a 60s/min értéken alapulnak.
A másodpercek mindig mikroszekundumokat tartalmaznak.
Korlátok
Az év-hónap intervallumok maximális tartománya +/- 178,956,970
év és 11
hónap.
A napi időintervallumok maximális tartománya +/- 106,751,991
nap, óra, 23
59
perc és 59.999999
másodperc.
Literálok
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
: Az eltelt évek száma.m
: Az eltelt hónapok száma.d
: Az eltelt napok száma.h
: Az eltelt órák száma.m
: Az eltelt percek száma.s
: Az eltelt másodpercek száma.ms
: Az ezredmásodpercek eltelt száma.us
: A mikroszekundumok eltelt száma.
Ha egy egység nem alkotja annak intervalQualifier
vezető egységét, a megadott tartományba kell tartoznia:
- Hónapok: 0 és 11 között
- Óra: 0 és 23 között
- Perc: 0 és 59 között
- Másodperc: 0,000000 és 59,9999999 között
Az előtagot belül vagy kívül intervalString
is előtaggal adhatja meg.
Ha van egy -
jel, az intervallum negatív. Ha két vagy nincs -
jel, az intervallum pozitív.
Ha a benne lévő intervalString
összetevők nem egyeznek meg a hiba összetevőivel intervalQualifier
, akkor a rendszer hibát jelez.
Ha az intervalString
érték nem fér bele a hiba által intervalQualifier
megadott tartományba, a hiba felmerül.
Példák
> 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