Come determinare il numero di ore tra due tempi in Oracle SQL

September 2

Come determinare il numero di ore tra due tempi in Oracle SQL


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.

istruzione

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



0.25

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



6

Consigli e 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" a "dividere per 7"
  • Non aggiungere, moltiplicare o dividere i valori di data.