Tipos de datos de fecha, hora e indicaciones de fecha y hora

Aunque es posible almacenar fechas y horas como valores numéricos, se recomienda utilizar los tipos de datos de fecha y hora. Los tipos de datos de fecha y hora son DATE, TIME y TIMESTAMP.

La tabla siguiente describe los tipos de datos para fechas, horas e indicaciones de fecha y hora.

Tabla 1. Tipos de datos de fecha, hora e indicaciones de fecha y hora
Tipo de datos Indica una columna de...
DATE Una fecha es un valor de tres partes que representa un año, mes y día dentro del rango de 0001-01-01 a 9999-12-31.
TIEMPO Una hora es un valor de tres partes que representa una hora del día en horas, minutos y segundos dentro del rango de 00.00.00 a 24.00.00.
TIMESTAMP El valor timestamp es un valor de siete partes que representa una fecha y hora por año, mes, día, hora, minuto, segundo y microsegundo, en el rango de 0001-01-01-00.00.00.000000000 a 9999-12-31-24.00.00.000000000 con precisión de nanosegundo. Las indicaciones de fecha y hora también pueden contener información de huso horario.

Db2 almacena valores de tipos de datos de fecha y hora en un formato interno especial. Al cargar o recuperar datos, Db2 puede convertirlo a o desde cualquiera de los formatos de la tabla siguiente.

Tabla 2. Opciones de formato de fecha y hora
Nombre de formato Abreviatura Fecha típica Hora típica
International Standards Organization ISO 2003-12-25 13.30.05
Estándar IBM® USA EE.UU. 12/25/2003 13:30
Estándar IBM European EUR 25.12.2003 13.30.05
Era Japanese Industrial Standard Christian JIS 2003-12-25 13:30:05
Iniciar información de la interfaz de programación de uso general.
Ejemplo 1
La consulta siguiente muestra las fechas en las que se contrató a todos los empleados, en el formulario estándar IBM USA, independientemente del valor predeterminado local:
SELECT EMPNO, CHAR(HIREDATE, USA) FROM EMP;
Ejemplo 2
Cuando utiliza tipos de datos de fecha y hora, puede aprovechar las funciones incorporadas de Db2 que operan específicamente en valores de fecha y hora, y puede especificar cálculos para valores de fecha y hora. Suponga que una empresa de fabricación tiene como objetivo entregar todos los pedidos de clientes en cinco días. Para ello defina las columnas SHIPDATE y ORDERDATE como tipos de datos DATE. La empresa puede utilizar los tipos de datos de fecha y hora y la función incorporada DAYS para comparar la fecha de entrega con la fecha de pedido. A continuación se muestra cómo la empresa puede codificar la función para generar una lista de pedidos que excedan el objetivo de entrega en cinco días:
DAYS(SHIPDATE) — DAYS(ORDERDATE)> 5

Como resultado, los programadores no tienen que desarrollar, probar y mantener código de aplicación para realizar aritmética de fecha y hora compleja que necesita que se permita el número de días de cada mes.

Finalizar información de la interfaz de programación de uso general.

Puede utilizar las siguientes funciones definidas por el usuario de ejemplo (que vienen con Db2) para modificar la forma en que se visualizan las fechas y horas.

  • ALTDATE devuelve la fecha actual en un formato especificado por el usuario o convierte una fecha especificada por el usuario de un formato a otro.
  • ALTTIME devuelve la hora actual en un formato especificado por el usuario o convierte una hora especificada por el usuario de un formato a otro.

Durante la instalación, también puede proporcionar una rutina de salida para realizar conversiones de o a cualquier estándar local.

Al cargar valores de fecha u hora desde un origen externo, Db2 acepta cualquiera de las opciones de formato de fecha y hora que se listan en esta información. Db2 convierte los valores de entrada válidos en el formato interno. Para la recuperación, se especifica un formato predeterminado en el tiempo de instalación de Db2. Posteriormente, puede sustituir el valor por omisión utilizando una opción de precompilador para todas las sentencias de un programa o utilizando la función escalar CHAR para una sentencia de SQL determinada y especificando el formato que desee.