INTERVAL

Un elemento de tipo INTERVAL es una serie de uno a veintiún dígitos numéricos de un solo byte que reflejan una intervalo que es la diferencia numérica entre dos puntos en el tiempo. El significado de cada dígito viene determinado por la máscara que especifica cuando declara el elemento.

Un intervalo puede ser positivo (como al restar 1980 de 2005) o negativo (como al restar 2005 de 1980) y al principio del elemento hay un byte extra que no se refleja en la máscara. Si un elemento de tipo INTERVAL está en un registro, debe contar con el byte extra al calcular la longitud del registro, así como la longitud del elemento superior, si lo hay.

Puede especificar una máscara que esté en cualquiera de estos dos formatos:
  • Tramo de mes, que puede incluir años y meses
  • Segundo tramo, que puede incluir días, horas, minutos, segundos y fracciones de segundos

En cualquier caso, cada carácter de la máscara representa un dígito. En el formato de tramo de mes, por ejemplo, el conjunto de a indica cuantos años hay en elemento. Si solo necesita tres dígitos para representar el número de años, especifique aaa en la máscara. Si necesita el número máximo de dígitos (nueve) para representar el número de años, especifique aaaaaaaaa.

En una más cara dada, el primer carácter puede utilizarse hasta nueve veces (a menos que se indique lo contrario) pero el número de cada especie de caracteres subsiguiente está más restringido.

Para una máscara con el formato de tramo de mes, están disponibles los caracteres siguientes, indicados por orden:
a
De cero a nueve dígitos que representan el número de años del intervalo.
M
De cero a nueve dígitos que representan el número de meses del intervalo. Si M no es el primer carácter de la máscara, solo se permiten dos dígitos como máximo.

La máscara por omisión es aaaaMM.

Para una máscara que tenga el formato de tramo de segundos, están disponibles los caracteres siguientes, indicados por orden:
d
De cero a nueve dígitos que representan el número de días del intervalo.
H
De cero a nueve dígitos que representan el número de horas del intervalo. Si H no es el primer carácter de la máscara, solo se permiten dos dígitos como máximo.
m
De cero a nueve dígitos que representan el número de minutos del intervalo. Si m no es el primer carácter de la máscara, solo se permiten dos dígitos como máximo.
s
De cero a nueve dígitos que representan el número de segundos del intervalo. Si s no es el primer carácter de la máscara, solo se permiten dos dígitos como máximo.
f
De cero a seis dígitos que representan cada uno una fracción de segundos; el primero representa décimas, el segundo representa centésimas, etc. Incluso cuando f es el primer carácter de la máscara, solo se permiten seis dígitos como máximo.
Aunque puede tener cero caracteres de una clase dada al principio o al final de una máscara, no puede saltar caracteres intermedios. Las máscaras válidas incluyen estas:
  aaaaaaMM
  aaaaaa
  MM

  ddHHmmssffffff
  HHmmssff
  mmss
  HHmm
Sin embargo, las máscaras siguientes no son válidas porque faltan los caracteres intermedios:
  // NO válido
  ddmmssffffff 
  HHssff
La representación hexadecimal de un valor de ejemplo es la siguiente si la máscara por omisión (aaaaMM) está en vigor y si el elemento está en un entorno de sistema principal que utiliza EBCDIC:
  // 100 años, 2 meses; 4E significa que el valor es positivo
  4E F0 F1 F0 F0 F0 F2

  // 100 años, 2 meses; 60 significa que el valor es negativo
  60 F0 F1 F0 F0 F0 F2

La representación hexadecimal interna de un valor de ejemplo es la siguiente si la máscara por omisión (aaaaMM) está en vigor y si el elemento está en un entorno de estación de trabajo como Windows 2000, que utiliza ASCII:

  // 100 años, 2 meses; 2B significa que el valor es positivo
  2B 30 31 30 30 30 32

  // 100 años, 2 meses; 2D significa que el valor es negativo
  2D 30 31 30 30 30 32

Un elemento de tipo INTERVAL es de tipos fuertes, por lo que no puede comparar un elemento de este tipo con un elemento de ningún otro tipo ni puede asignar un elemento de cualquier otro tipo a o desde un elemento de este tipo.

Finalmente, un elemento de tipo INTERVAL no puede recibir datos de o proporcionar datos a una base de datos relacional.

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.