sql >> Databasteknik >  >> RDS >> Oracle

Beräkna skillnaden mellan 2 datum/tider i Oracle SQL

Du kan subtrahera datum i Oracle. Detta kommer att ge dig skillnaden i dagar. Multiplicera med 24 för att få timmar och så vidare.

SQL> select oldest - creation from my_table;

Om ditt datum lagras som teckendata måste du först konvertera det till en datumtyp.

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

Obs :

Detta svar gäller datum som representeras av Oracle-datatypen DATE .Oracle har också en datatyp TIMESTAMP , som också kan representera ett datum (med tid). Om du subtraherar TIMESTAMP värden får du ett INTERVAL; för att extrahera numeriska värden, använd EXTRACT funktion.



  1. Chen Notation

  2. Oracle:hur är situationen att använda RAISE_APPLICATION_ERROR?

  3. SQL Server Parallell Backup Restore -2

  4. ODP.NET Oracle.ManagedDataAccess orsakar ORA-12537 nätverkssession slutet av filen