Tipo de Dados ESQL INTERVAL

O tipo de dados INTERVAL inclui um intervalo de tempo. Ele possui vários subtipos:

Todos esses subtipos descrevem intervalos de tempo e podem participar do intervalo completo de operações do tipo INTERVAL; por exemplo, operações de adição e subtração com valores do tipo DATE, TIME ou TIMESTAMP.

Utilize a função CAST para converter de um subtipo para outro, exceto para os intervalos descritos em anos e meses ou meses que não podem ser convertidos para os descritos em dias, horas, minutos e segundos.

A divisão entre meses e dias ocorre porque o número de dias em cada mês varia. O intervalo de um mês e um dia não é significativo e não pode ser convertido de forma sensata em um intervalo equivalente apenas em números de dias.

Um literal de intervalo é definido pela sintaxe:

INTERVAL <cadeia de intervalo> <qualificador de intervalo>

O formato da cadeia de intervalo e o qualificador do intervalo são definidos pela tabela abaixo:

Qualificador de Intervalo Formato de Cadeia de Intervalo Exemplo
YEAR '<year>' ou '<sign> <year>' '10' ou '-10'
YEAR TO MONTH '<year>-<month>' ou '<sign> <year>-<month>' '2-06' ou '- 2-06'
MONTH '<month>' ou '<sign> <month>' '18' ou '-18'
DAY '<day>' ou '<sign> <day>' '30' ou '-30'
DAY TO HOUR '<day> <hour>' ou '<sign> <day> <hour>' '1 02' ou '-1 02'
DAY TO MINUTE '<day> <hour>:<minute>' ou '<sign> <day> <hour>:<minute>' '1 02:30' ou '-1 02:30'
DAY TO SECOND '<day> <hour>:<minute>:<second>' ou '<sign> <day> <hour>:<minute>:<second>' '1 02:30:15' ou '-1 02:30:15.333'
HOUR '<hour>' ou '<sign> <hour>' '24' ou '-24'
HOUR TO MINUTE '<hour>:<minute>' ou '<sign> <hour>:<minute>' '1:30' ou '-1:30'
HOUR TO SECOND '<hour>:<minute>:<second>' ou '<sign> <hour>:<minute>:<second>' '1:29:59' ou '-1:29:59.333'
MINUTE '<minute>' ou '<sign> <minute>' '90' ou '-90'
MINUTE TO SECOND '<minute>:<second>' ou '<sign> <minute>:<second>' '89:59' ou '-89:59'
SECOND '<second>' ou '<sign> <second>' '15' ou '-15.7'

Onde um intervalo contém um valor de um ano e um mês, é utilizado um hífen entre os dois valores. Neste exemplo, o valor de mês deve estar no intervalo [0, 11]. Se um intervalo contiver um valor de mês e nenhum valor de ano, o valor de mês não será restrito.

É utilizado um espaço para separar dias do resto do intervalo.

Se um intervalo contiver mais de um HOUR, MINUTE e SECOND, será necessário um sinal de dois pontos para separar os valores e todos, exceto o que está mais à esquerda, serão limitados da seguinte forma:

HOUR
0-23
MINUTE
0-59
SECOND
0-59.999...

O maior valor à extrema esquerda em um intervalo é +/- 2147483647.

Alguns exemplos de valores de intervalos válidos são:

Alguns exemplos de valores de intervalos inválidos são:

A seguir estão alguns exemplos de literais de intervalos:

INTERVAL '1' HOUR
INTERVAL '90' MINUTE
INTERVAL '1-06' YEAR TO MONTH

Conceitos relacionados
Visão Geral de Fluxos de Mensagens
Tipos de Dados ESQL
Tarefas relacionadas
Desenvolvendo Fluxos de Mensagens
Utilizando os Operadores Numéricos com Valores de Data/Hora
Calculando um Intervalo de Tempo
Referências relacionadas
Tipo de Dados ESQL DATE
Tipo de Dados ESQL TIME
Tipo de Dados ESQL GMTTIME
Tipo de Dados ESQL TIMESTAMP
Tipo de Dados ESQL GMTTIMESTAMP
Instrução DECLARE
Função CAST
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac05950_