Il responsabile del database Oracle può memorizzare più tipi di dati nei campi del database , comprese le stringhe leggibili , con date e orari . Calcolando la differenza esatta tra due momenti nel tempo è un'operazione molto comune , ma può essere necessario per creare un nuovo campo , una vista o per filtrare i risultati di una query . È possibile calcolare le differenze di tempo precisi nelle tabelle Oracle e dei risultati delle query . Istruzioni
1
Dichiarare i campi di registrare l'ora iniziale e finale cui differenza si vuole in ultima analisi, per calcolare come avere tipo TIMESTAMP . Il tipo TIMESTAMP è quella che ti permette la massima precisione , fino a frazioni di secondo . Ad esempio , definire la tabella come segue :
CREATE TABLE times_for_diff {
initial_time TIMESTAMP , Stati
final_time TIMESTAMP
} ;
2
popolare la tabella utilizzando l'apposita funzione per la conversione tra un tipo leggibile e TIMESTAMP . In genere , le date e gli orari sono codificati come stringhe . Questo esempio di codice inserisce un record nella tabella di esempio :
INSERT INTO times_for_diff ( initial_time , final_time )
VALUES ( TO_TIMESTAMP ('30 .5.1990:12:00:00 ',' DD . mm.yyyy : HH24 : MI : SS ' ) , Stati
TO_TIMESTAMP ( '31 .7.1992:14:00:00 ', ' GG.MM.AAAA : HH24 : MI : SS' ) per < p > ) ;
COMMIT ;
il campione di tempo iniziale è mezzogiorno , 30 maggio 1990 , la finale di tempo è 02:00 , 31 lug 1993
< br . > 3
Calcola la differenza utilizzando il built -in operatore di Oracle che sottrae un timestamp da un altro , come segue :
SELECT ( final_time - initial_time ) per
dA times_for_diff ;
< p > l' output della query sarà costituito dalla differenza tra le due volte in ogni riga della tabella " times_for_diff " .