Structured query language (SQL) è il metodo più utilizzato per recuperare e manipolare i dati memorizzati in un database Oracle. Oltre ad altri potenti comandi utilizzati per elaborare i valori di data, Oracle SQL fornisce un metodo per determinare la differenza tra due punti nel tempo. Oracle non ha separati formati per date e orari, ma utilizza un formato di data unica che consiste di sia la data e l'ora in una colonna.
Istruzioni
1
Trovare due colonne di data in un database Oracle. Nell'esempio viene utilizzata una data statica e sysdate (data di sistema). Si supponga che la data di sistema corrente è 1° gennaio 2010 alle 12:0 Dual è una relazione di sistema Oracle built-in che è utile per testare le query che non sono dipendenti da una tabella specifica. Utilizzare questo comando per visualizzare la data di due valori.
Selezionare
TO_CHAR (1° gennaio 2010 ', ' DD-MM-AAAA HH24) come "Prima volta",
TO_CHAR (sysdate, ' DD-MM-AAAA HH24) come "L'ora"
da due;
All'inizio del tempo | L'ora
------------------------------ | -----------------------------
01/01/2010 00:00:00 | 01/01/2010 12.00
2
Modificare la query per sottrarre il valore corrente del tempo dal precedente valore del tempo. Il risultato è il numero di giorni tra i due valori di data. La parte a sinistra del separatore decimale rappresenta i giorni, e la parte a destra rappresenta qualsiasi parte frazionaria di un giorno.
Selezionare
TO_CHAR (1° gennaio 2010 ', ' DD-MM-AAAA HH24)-
TO_CHAR (sysdate, ' DD-MM-AAAA HH24) come "differenza"
da due;
differenza
0.25
3
Modificare la query per moltiplicare il risultato per 24 per convertire il valore frazionario a ore.
Selezionare
(to_char (1° gennaio 2010 ', ' DD-MM-AAAA HH24)-
TO_CHAR (sysdate, ' DD-MM-AAAA HH24) * 24 come "ore"
da due;
ore
6
Consigli & Avvertenze
- Utilizzare la funzione to_char per variare il formato dei campi data.
- Utilizzare la stessa procedura per determinare il numero di settimane tra due date modificando il "moltiplicare per 24" per "dividere per 7".
- Non aggiungere, moltiplicare o dividere valori di data.