Mostrando entradas con la etiqueta Time. Mostrar todas las entradas
Mostrando entradas con la etiqueta Time. Mostrar todas las entradas

miércoles, 29 de abril de 2009

Diferencia entre dos fechas en formato H MIN SEG

Ejemplo práctico:

Creamos una tabla con dos fechas
CREATE TABLE TABLA1 (FECHA_INICIO DATE, FECHA_FIN DATE)

Insertamos dos registros de ejemplo:
Este con la misma fecha
INSERT INTO TABLA1 VALUES (SYSDATE, SYSDATE)

Esta con la fecha actual, y una fecha aleatoria superior
INSERT INTO TABLA1 VALUES (SYSDATE, SYSDATE+0.3568)

Con esta query obtenemos el tiempo entre Fecha_inicio y Fecha_fin
SELECT
FECHA_INICIO, FECHA_FIN,
floor(((FECHA_FIN-FECHA_INICIO)*24*60*60)/3600) || ' H ' || floor((((FECHA_FIN-FECHA_INICIO)*24*60*60) - floor(((FECHA_FIN-FECHA_INICIO)*24*60*60)/3600)*3600)/60) || ' MIN ' || round((((FECHA_FIN-FECHA_INICIO)*24*60*60) - floor(((FECHA_FIN-FECHA_INICIO)*24*60*60)/3600)*3600 - (floor((((FECHA_FIN-FECHA_INICIO)*24*60*60) - floor(((FECHA_FIN-FECHA_INICIO)*24*60*60)/3600)*3600)/60)*60) )) || '
SEG ' TIEMPO
FROM TABLA1