Du kan trække datoer fra i Oracle. Dette vil give dig forskellen i dage. Gang med 24 for at få timer, og så videre.
SQL> select oldest - creation from my_table;
Hvis din dato er gemt som tegndata, skal du først konvertere den til en datotype.
SQL> select 24 * (to_date('2009-07-07 22:00', 'YYYY-MM-DD hh24:mi')
- to_date('2009-07-07 19:30', 'YYYY-MM-DD hh24:mi')) diff_hours
from dual;
DIFF_HOURS
----------
2.5
Bemærk :
Dette svar gælder for datoer repræsenteret af Oracle-datatypen DATE
.Oracle har også en datatype TIMESTAMP
, som også kan repræsentere en dato (med tid). Hvis du trækker TIMESTAMP
fra værdier, får du en INTERVAL
; for at udtrække numeriske værdier, brug EXTRACT
funktion.