March 20
Il gestore del database Oracle può memorizzare più tipi di dati nei campi di database, tra cui stringhe leggibili con date e orari. Calcolare la differenza esatta tra due momenti nel tempo è un'operazione molto comune; esso 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 risultati delle query.
1 Dichiarare i campi di stoccaggio l'inizio e il tempo di cui si vuole calcolare in ultima analisi, come avere tipo timestamp differenza terminano. Il tipo timestamp è quella che consente la massima precisione, fino a frazioni di secondo. Ad esempio, definire la tabella come segue:
CREATE TABLE times_for_diff {
initial_time TIMESTAMP,
TIMESTAMP final_time
};
2 Popolare la vostra 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 codice di esempio inserisce un record nella tabella di esempio:
INSERT INTO times_for_diff (initial_time, final_time)
VALORI (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')
);
COMMETTERE;
Il tempo iniziale del campione è mezzogiorno 30 maggio 1990; il tempo finale è 2 del pomeriggio, 31 luglio 1993.
3 Calcolare la differenza utilizzando il built-in Oracle operatore che sottrae timestamp dagli altri, come segue:
SELECT (final_time - initial_time)
DA times_for_diff;
L'output della query sarà costituito dalla differenza tra i due volte in ogni riga della tabella "times_for_diff".