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.