Compartilhar via


Tipo de dados de intervalo

Um intervalo é definido como a diferença entre duas datas e horas. Os intervalos são expressos de uma das duas maneiras diferentes. Um deles é um intervalo de ano-mês que expressa intervalos em termos de anos e um número integral de meses. O outro é um intervalo de dia que expressa intervalos em termos de dias, minutos e segundos. Esses dois tipos de intervalos são distintos e não podem ser mistos, pois os meses podem ter números variados de dias.

Um intervalo consiste em um conjunto de campos. Há uma ordenação implícita entre os campos. Por exemplo, em um intervalo de ano para mês, o ano vem primeiro, seguido pelo mês. Da mesma forma, em um intervalo de dia a minuto, os campos estão no dia, na hora e no minuto da ordem. O primeiro campo em um tipo de intervalo é chamado de campo à esquerda ou campo de alta ordem . O último campo é chamado de campo à direita .

Em todos os intervalos, o campo à esquerda não é restrito por regras do calendário gregoriano. Por exemplo, em um intervalo de hora a minuto, o campo de hora não é restrito a estar entre 0 e 23 (inclusive), como normalmente é. Os campos à direita após o campo à esquerda seguem as restrições usuais do calendário gregoriano. Para obter mais informações, consulte Restrições do calendário gregoriano, posteriormente neste apêndice.

Há 13 tipos de dados SQL de intervalo e 13 tipos de dados C de intervalo. Cada um dos tipos de dados C de intervalo usa a mesma estrutura, SQL_INTERVAL_STRUCT, para conter os dados de intervalo. (Para obter mais informações, consulte a próxima seção , Estrutura do Intervalo C.) Para obter mais informações sobre os tipos de dados SQL, consulte Tipos de dados SQL; para obter mais informações sobre os tipos de dados C, consulte Tipos de dados C.

Identificador de tipo Classe Descrição
MONTH Year-Month Número de meses entre duas datas.
YEAR Year-Month Número de anos entre duas datas.
YEAR_TO_MONTH Year-Month Número de anos e meses entre duas datas.
DAY Day-Time Número de dias entre duas datas.
HOUR Day-Time Número de horas entre duas datas/horas.
MINUTE Day-Time Número de minutos entre duas datas/horas.
SECOND Day-Time Número de segundos entre duas datas/horas.
DAY_TO_HOUR Day-Time Número de dias/horas entre duas datas/horas.
DAY_TO_MINUTE Day-Time Número de dias/horas/minutos entre duas datas/horas.
DAY_TO_SECOND Day-Time Número de dias/horas/minutos/segundos entre duas datas/horas.
HOUR_TO_MINUTE Day-Time Número de horas/minutos entre duas datas/horas.
HOUR_TO_SECOND Day-Time Número de horas/minutos/segundos entre duas datas/horas.
MINUTE_TO_SECOND Day-Time Número de minutos/segundos entre duas datas/horas.

Esta seção contém os seguintes tópicos.