Tecnología

Inicio

¿Cómo puedo convertir la fecha DateStamp en DB2?

¿Cómo puedo convertir la fecha DateStamp en DB2?


Se pueden definir columnas de las tablas de base de datos DB2, ya sea en "fecha", "tiempo" o "formatos de fecha y hora" para almacenar información en tiempo relevante. los valores de marca de tiempo incluyen una fecha seguida de la hora, que se define a la precisión de microsegundos de seis posiciones. Una marca de tiempo es útil cuando es fundamental para saber exactamente cuando se produce un evento o para ordenar los datos en orden de entrada. Muchas aplicaciones utilizan marcas de tiempo para registrar la hora de entrada y de actualización para fines de auditoría.

Instrucciones

Uso de almacenamiento de Trabajo

1 Definir un campo que sólo contiene 10 bytes. En este ejemplo se utiliza la sintaxis COBOL en el área de almacenamiento de trabajo. El "01" es el indicador de nivel. "WS-FECHA" es el nombre del campo. "PIC" indica la cláusula de imagen con la "X (10)" que indica que el campo es una cadena de 10 bytes.

01 WS-FECHA PIC X (10).

2 Seleccione una columna de marca de tiempo de una tabla de DB2 mediante un comunicado lenguaje de consulta estructurado (SQL). Escriba la siguiente instrucción SQL en el programa:

TIMESTAMP_VALUE SELECT TEST_TABLE

3 Mueva el "TIMESTAMP_VALUE" al campo de almacenamiento de trabajo más corto para truncar toda la información después de la fecha.

MOVER TIMESTAMP valor para WS-FECHA.

Si la marca de tiempo contiene "2010-01-01-10.30.02.123456," WS-FECHA es igual a "2010-01-01". Use WS-DATE en los estados de «actualización» "inserción" o, como en "dónde" cláusulas.

Convertir la marca de tiempo para una fecha dentro de una sentencia de SQL

4 Convertir el formato de fecha y hora en el formato de "fecha" usando la función "fecha" en el "select".

FECHA SELECT (CURRENT TIMESTAMP) DE SYSIBM.SYSDUMMY1

Esta instrucción devuelve la parte de fecha de la fecha y hora actual del sistema. La tabla SYSDUMMY1 es una mesa especial en memoria proporcionado por IBM para las funciones del sistema que no requieren una tabla definida por el usuario. Sustituir una tabla y la columna nombre definido por el usuario para recuperar los datos almacenados.

Si la corriente de indicación de la hora del sistema es "2010-01-01-10.30.02.123456," el resultado de la instrucción SQL es "2010-01-01"

5 Utilice la función de SQL "molde" para convertir una marca de tiempo a una fecha en el "seleccionar" instrucción SQL. La declaración "fundido" cambia el formato de un valor basado en los parámetros dentro del paréntesis. En este ejemplo, el valor es "marca de tiempo actual" y se vuelve a formatear utilizando el formato de "fecha".

SELECT CAST (CURRENT TIMESTAMP COMO FECHA) DE SYSIBM.SYSDUMMY1

Si la corriente de indicación de la hora del sistema es "2010-01-01-10.30.02.123456," el resultado de la instrucción SQL es "2010-01-01".

6 Compruebe que las funciones de "fecha" "fundido" y devuelven los mismos resultados mediante el uso de ellos tanto dentro de un comando SQL.

FECHA SELECT (CURRENT TIMESTAMP),

CAST (CURRENT TIMESTAMP como la fecha)

DE SYSIBM.SYSDUMMY1

Consejos y advertencias

  • DB2 devolverá un error si la instrucción SQL intenta convertir un valor en un formato no válido a una "cita", "formato de hora" tiempo "o".