Skip to main content
Família de tipos de dados que representa intervalos de data e hora. Os tipos resultantes do operador INTERVAL. Estrutura:
  • Intervalo de tempo como um valor inteiro sem sinal.
  • Tipo de um intervalo.
Tipos de intervalo compatíveis:
  • NANOSECOND
  • MICROSECOND
  • MILLISECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
Para cada tipo de intervalo, há um tipo de dado separado. Por exemplo, o intervalo DAY corresponde ao tipo de dado IntervalDay:

Observações de uso

Você pode usar valores do tipo Interval em operações aritméticas com valores do tipo Date e DateTime. Por exemplo, é possível adicionar 4 dias ao momento atual:
Também é possível usar vários intervalos ao mesmo tempo:
E para comparar valores de intervalos diferentes:

Agregação

sum, avg, min, max e any aplicadas a uma coluna Interval retornam um intervalo do mesmo tipo. sum soma o número de unidades, e avg calcula a média delas e arredonda o resultado para um número inteiro de unidades:
Valores de unidades diferentes são convertidos para uma unidade comum antes de serem agregados, de modo que somar um minuto e um segundo resulta em 61 segundos. Month, Quarter e Year não têm unidade comum com as unidades menores — um mês não corresponde a um número fixo de dias — e não podem ser combinados com elas de forma alguma.

Intervalos de tipos mistos

Intervalos de tipos mistos, por exemplo, com várias horas e vários minutos, podem ser criados usando a sintaxe INTERVAL 'value' <from_kind> TO <to_kind>. O resultado é uma tupla de dois ou mais intervalos. Combinações suportadas: Os campos que não são iniciais são validados de acordo com o padrão SQL: MONTH 0-11, HOUR 0-23, MINUTE 0-59, SECOND 0-59.
Um sinal opcional + ou - no início se aplica a todos os componentes:

Veja também

Última modificação em 26 de setembro de 2026