TIMESTAMP

Un elemento de tipo TIMESTAMP es una serie de uno a veinte dígitos numéricos de un solo byte que reflejan un momento específico. El significado de cada dígito viene determinado por la máscara que especifica cuando declara el elemento.

Los caracteres siguientes están disponibles, por orden, cuando especifica la máscara:
aaaa
Cuatro dígitos que representan el año. El rango va de 0000 a 9999.
MM
Dos dígitos que representan el mes. El rango va de 01 a 12.
dd
Dos dígitos que representan el día. El rango va de 01 a 31.
HH
Dos dígitos que representan la hora. El rango va de 00 a 23.
mm
Dos dígitos que representan el minuto. El rango va de 00 a 59.
ss
Dos dígitos que representan el segundo. El rango va de 00 a 59.
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.

La máscara por omisión es aaaaMMddHHmmss.

Cuando interactúa con DB2 (directamente o a través de JDBC) o al generar para COBOL, debe especificar cada componente desde el año (aaaa) hasta los segundos (ss). En otros contextos, se cumple lo siguiente:
  • Puede tener cero caracteres de una clase dada al principio o al final de una máscara, pero no puede saltar caracteres intermedios.
  • Las máscaras válidas incluyen estas:
      aaaaMMddHHmmss
      aaaa
      MMss
  • Las máscaras siguientes no son válidas porque faltan los caracteres intermedios:
      // NO válido
      ddMMssffffff
      HHssff
La representación hexadecimal interna de un valor de ejemplo es la siguiente si la máscara por omisión (aaaaMMddHHmmss) está en vigor y si el elemento está en un entorno de sistema principal como CICS para z/OS, que utiliza EBCDIC:
  // 8:05:10 a 12 enero 2005
  F2 F0 F0 F5 F0 F1 F1 F2 F0 F8 F0 F5 F1 F0

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

  // 8:05:10 a 12 enero 2005
  32 30 30 35 30 31 31 32 30 38 30 35 31 30
Un elemento de tipo TIMESTAMP puede compararse con (o asignarse a o desde) un elemento de tipo TIMESTAMP o un elemento de tipo DATE, TIME, NUM o CHAR. Sin embargo, se produce un error en tiempo de desarrollo si asigna un valor que no es válido. A continuación se ofrece un ejemplo:
   // NO válido porque el 30 de febrero no es una fecha válida
   myTS timestamp("aaaammdd"); 
   myTS = "20050230";
Si faltan los caracteres iniciales de una máscara completa (por ejemplo, si la máscara es "dd"), EGL supone que los caracteres de nivel superior ("aaaaMM", en este caso) representen el momento actual, de acuerdo con el reloj del sistema. Las sentencia siguientes originan un error de tiempo de ejecución en febrero:
   // NO válido porque el 30 de febrero no es una fecha
   myTS timestamp("dd"); 
   myTS = "30";

Finalmente, un elemento de tipo TIMESTAMP 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.