Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Typ:
Gäller för: 
 Databricks SQL 
 Databricks Runtime
Representerar tidsintervall antingen på en skala av sekunder eller månader.
Syntax
INTERVAL { yearMonthIntervalQualifier | dayTimeIntervalQualifier }
yearMonthIntervalQualifier
 { YEAR [TO MONTH] |
   MONTH }
dayTimeIntervalQualifier
 { DAY [TO { HOUR | MINUTE | SECOND } ] |
   HOUR [TO { MINUTE | SECOND } ] |
   MINUTE [TO SECOND] |
   SECOND }
Kommentar
Intervall som täcker år eller månader kallas årsmånadsintervall.
Intervall som täcker dagar, timmar, minuter eller sekunder kallas dagtidsintervall.
Du kan inte kombinera eller jämföra års- och dagtidsintervall.
Dagsintervall baseras strikt på 86400-talet/dag och 60-talet/min.
Sekunder anses alltid innehålla mikrosekunder.
Gränser
Ett årsmånadsintervall har ett maximalt intervall på +/- 178,956,970 år och 11 månader.
Ett dagsintervall har ett maximalt intervall på +/- 106,751,991 dagar, 23 timmar, 59 minuter och 59.999999 sekunder.
Literaler
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: Det förflutna antalet år.m: Det förflutna antalet månader.d: Det förflutna antalet dagar.h: Det förflutna antalet timmar.m: Det förflutna antalet minuter.s: Det förflutna antalet sekunder.ms: Det förflutna antalet millisekunder.us: Det förflutna antalet mikrosekunder.
Såvida inte en enhet utgör den ledande enheten av den intervalQualifier måste ligga inom det definierade intervallet:
- Månader: mellan 0 och 11
 - Timmar: mellan 0 och 23
 - Minuter: mellan 0 och 59
 - Sekunder: mellan 0,0000000 och 59,9999999
 
Du kan prefixa en skylt antingen inuti eller utanför intervalString.
Om det finns ett - tecken är intervallet negativt. Om det finns två eller inga - tecken är intervallet positivt.
Om komponenterna i intervalString inte matchar komponenterna i intervalQualifier ett fel utlöses.
Om värdet intervalString inte passar in i det intervall som anges av intervalQualifier ett fel utlöses.
Exempel
> 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