Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Typ:
Dotyczy:
Databricks SQL
Databricks Runtime
Reprezentuje interwały czasu w skali sekund lub miesięcy.
Składnia
INTERVAL { yearMonthIntervalQualifier | dayTimeIntervalQualifier }
yearMonthIntervalQualifier
{ YEAR [TO MONTH] |
MONTH }
dayTimeIntervalQualifier
{ DAY [TO { HOUR | MINUTE | SECOND } ] |
HOUR [TO { MINUTE | SECOND } ] |
MINUTE [TO SECOND] |
SECOND }
Uwagi
Interwały obejmujące lata lub miesiące są nazywane interwałami miesiąc-rok.
Interwały obejmujące dni, godziny, minuty lub sekundy są nazywane interwałami w czasie dnia.
Nie można łączyć ani porównywać interwałów między miesiącami i dniem.
Interwały dni są ściśle oparte na 86400s/day i 60s/min.
Sekundy są zawsze brane pod uwagę w celu uwzględnienia mikrosekund.
Limity
Interwał rok-miesiąc ma maksymalny zakres +/- 178,956,970 lat i 11 miesięcy.
Interwał w ciągu dnia ma maksymalny zakres +/- 106,751,991 dni, 23 godzin, 59 minut i 59.999999 sekund.
Literały
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: Upłynęło tyle lat. -
m: Upłynęło liczby miesięcy. -
d: upłynął czas, przez który upłynął czas. -
h: upłynęło liczby godzin. -
m: upłynął czas 10 minut. -
s: upłynął czas 10 sekund. -
ms: upłynął liczba milisekund. -
us: upłynął liczba mikrosekund.
O ile jednostka nie stanowi jednostki wiodącej intervalQualifier , musi należeć do zdefiniowanego zakresu:
- Miesiące: od 0 do 11
- Godziny: od 0 do 23
- Minuty: od 0 do 59
- Sekundy: od 0,000000 do 59,99999999
Możesz prefiksować znak wewnątrz lub na zewnątrz intervalString.
Jeśli istnieje jeden - znak, interwał jest ujemny. Jeśli istnieją dwa lub żadne - znaki, interwał jest dodatni.
Jeśli składniki w obiekcie intervalString nie pasują do składników w błędzie intervalQualifier , zostanie zgłoszony błąd.
intervalString Jeśli wartość nie pasuje do zakresu określonego intervalQualifier przez błąd, zostanie zgłoszony.
Przykłady
> 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