sql >> Database teknologi >  >> RDS >> Oracle

Beregn forskel mellem 2 dato/klokkeslæt i Oracle SQL

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.



  1. Opret en sammenkædet server mellem to Docker-containere, der kører SQL Server (T-SQL-eksempel)

  2. Unitils og DBMaintainer - hvordan får man dem til at fungere med flere brugere/skemaer?

  3. Problemer med at indstille en tilpasset primær nøgle i en Rails 4-migrering

  4. Hvordan henter man et sæt tegn ved hjælp af SUBSTRING i SQL?