El administrador de base de datos Oracle puede almacenar múltiples tipos de datos en los campos de la base de datos , incluidas las cadenas legibles con fechas y horas. Cálculo de la diferencia exacta entre dos momentos en el tiempo es una operación muy común, sino que puede ser necesaria para crear un nuevo campo , una vista o para filtrar los resultados de una consulta . Usted puede calcular diferencias horarias precisas en las tablas de Oracle y resultados de la consulta . Instrucciones
1
Declarar los campos que almacenan la hora de inicio y finalización cuya diferencia quiere en última instancia, para el cálculo de tener tipo TIMESTAMP . El tipo TIMESTAMP es la que proporciona la más alta precisión permite , hasta fracciones de segundo. Por ejemplo, defina la tabla de la siguiente manera :
CREATE TABLE times_for_diff {
TIMESTAMP initial_time ,
final_time TIMESTAMP
} ;
2
Rellenar la tabla con la función apropiada para la conversión entre un tipo legible y TIMESTAMP . Por lo general, las fechas y horas están codificados como cadenas. Esta muestra de código inserta un registro en la tabla de ejemplo : INSERT INTO
times_for_diff ( initial_time , final_time )
VALORES
( TO_TIMESTAMP ( .5.1990:12:00:00 '30 ' , ' DD . mm.yyyy : HH24 : MI : SS ' ) ,
TO_TIMESTAMP ( .7.1992:14:00:00 '31 ', ' DD.MM.YYYY : HH24 : MI : SS ' )
< p> ) ;
COMMIT ;
la muestra inicial de tiempo es el mediodía , 30 de mayo de 1990; el tiempo final es 14:00 , 31 de julio 1993
< br . > 3
Calcular la diferencia con la incorporada en el operador de Oracle que resta un sello de tiempo de los otros, de la siguiente manera :
SELECT ( final_time - initial_time )
dE times_for_diff ;
< p> el resultado de la consulta consistirá en la diferencia entre los dos tiempos de cada fila de la tabla " times_for_diff " .