Tecnología

Inicio

Cómo calcular la diferencia de tiempo en Oracle

Cómo calcular la diferencia de tiempo en Oracle


El gestor de base de datos Oracle puede almacenar varios tipos de datos en campos de la base, incluyendo cadenas legible con fechas y horas. El cálculo de la diferencia exacta entre dos momentos en el tiempo es una operación muy común; que puede ser necesaria para crear un nuevo campo, una vista o para filtrar los resultados de una consulta. Puede calcular las diferencias de tiempo precisos en sus tablas de Oracle y resultados de la consulta.

Instrucciones

1 Declarar los campos que almacenan la hora de inicio y cuya diferencia que en última instancia desea calcular como de tipo TIMESTAMP que terminan. El tipo TIMESTAMP es la que le permite la máxima precisión, hasta fracciones de segundo. Por ejemplo, definir su tabla como sigue:

CREAR TABLA times_for_diff {

initial_time TIMESTAMP,

TIMESTAMP final_time

};

2 Rellenar la tabla utilizando la función adecuada para convertir entre un tipo legible por humanos y la marca de tiempo. Por lo general, las fechas y horas se codifican como cadenas. Este código de ejemplo inserta un registro en la tabla de ejemplo:

INSERT INTO times_for_diff (initial_time, final_time)

VALORES (TO_TIMESTAMP ('30 .5.1990: 12: 00: 00 ',' DD.MM.YYYY: HH24: MI: SS '),

TO_TIMESTAMP ('31.7.1992:14:00:00','DD.MM.YYYY:HH24:MI:SS')

);

COMETER;

El tiempo inicial de la muestra es medio día 30 de mayo de 1990; el tiempo final es 14:00, 31 de Julio., 1993

3 Calcular la diferencia con la incorporada en el operador de Oracle que resta un sello de tiempo de otra, de la siguiente manera:

SELECT (final_time - initial_time)

DE times_for_diff;

El resultado de la consulta consistirá en la diferencia entre los dos veces en cada fila de la tabla "times_for_diff".