sql >> Database >  >> RDS >> Oracle

Bereken het verschil tussen 2 datums / tijden in Oracle SQL

U kunt datums aftrekken in Oracle. Dit geeft je het verschil in dagen. Vermenigvuldig met 24 om uren te krijgen, enzovoort.

SQL> select oldest - creation from my_table;

Als uw datum is opgeslagen als tekengegevens, moet u deze eerst converteren naar een datumtype.

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

Opmerking :

Dit antwoord is van toepassing op datums die worden weergegeven door het Oracle-gegevenstype DATE .Oracle heeft ook een gegevenstype TIMESTAMP , die ook een datum (met tijd) kan vertegenwoordigen. Als u TIMESTAMP aftrekt waarden, krijg je een INTERVAL; gebruik de EXTRACT . om numerieke waarden te extraheren functie.



  1. Snelste manier om afstand tussen twee lat/lange punten te vinden

  2. Tabel kopiëren naar een andere database op een andere SQL Server

  3. Hoe selecteer ik efficiënt de vorige niet-null-waarde?

  4. Installeer Mtop (MySQL Database Server Monitoring) in RHEL/CentOS 6/5/4, Fedora 17-12