September 2
Structured Query Language (SQL) è il metodo più usato per recuperare e manipolare i dati memorizzati in un database Oracle. In aggiunta ad altri potenti comandi utilizzati per elaborare valori di data, Oracle SQL fornisce un metodo per determinare la differenza tra due punti nel tempo. Oracle non ha formati separati per date e orari, ma utilizza un unico formato di data che consiste sia la data e l'ora in una colonna.
1 Trova due colonne della data in un database Oracle. L'esempio utilizza una data statica e sysdate (data di sistema). Si supponga che l'attuale data di sistema è il 1 gennaio 2010 alle 12:00 Dual è un built-in Oracle relazione sistema che è utile per le query di test che non dipendono da una tabella specifica. Utilizzare questo comando per visualizzare i due valori di data.
selezionare
to_char ('01 / 01/2010 ',' HH24 GG-MM-AAAA: MI: SS ') come "In precedenza Time",
to_char (sysdate, 'GG-MM-AAAA HH24: MI: SS') come "Current Time"
da doppio;
In precedenza Tempo | Ora attuale
------------------------------ | -----------------------------
01/01/2010 00:00:00 | 01/01/2010 00:00:00
2 Modificare la query per sottrarre il valore di tempo corrente dal valore di tempo precedente. Il risultato è il numero di giorni tra i due valori di data. La parte a sinistra del decimale rappresenta giorni, e la porzione a destra rappresenta qualsiasi parte frazionaria di un giorno.
selezionare
to_char ('01 / 01/2010 ',' GG-MM-AAAA HH24: MI: SS ') -
to_char (sysdate, 'GG-MM-AAAA HH24: MI: SS') come "differenza"
da doppio;
differenza
3 Modificare la query per moltiplicare il risultato per 24 per convertire il valore frazionario per ore.
selezionare
(To_char ('01 / 01/2010 ',' GG-MM-AAAA HH24: MI: SS ') -
to_char (SYSDATE, 'GG-MM-AAAA HH24: MI: SS') * 24 come "ore"
da doppio;
ore