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

Hvordan man trækker 2 datoer fra i orakel for at få resultatet i time og minut

SQL> edit
Wrote file afiedt.buf

  1  select start_date
  2      , end_date
  3      , (24 * extract(day from (end_date - start_date) day(9) to second))
  4          + extract(hour from (end_date - start_date) day(9) to second)
  5          + ((1/100) * extract(minute from (end_date - start_date) day(9) to second)) as "HOUR.MINUTE"
  6* from t
SQL> /

START_DATE          END_DATE            HOUR.MINUTE
------------------- ------------------- -----------
21-06-2011 14:00:00 21-06-2011 16:55:00        2.55
21-06-2011 07:00:00 21-06-2011 16:50:00         9.5
21-06-2011 07:20:00 21-06-2011 16:30:00         9.1

Det skal bemærkes for dem, der støder på denne kode, at decimaldelene er FAKTISKE minutforskelle og ikke en del af en time. .5 , derfor repræsenterer 50 minutes , ikke 30 minutes .



  1. Oracle pivot operatør

  2. Ret "Aritmetisk overløbsfejl ved konvertering af int til datatype numerisk" i SQL Server

  3. mysqli_stmt::bind_result():Antallet af bindevariabler matcher ikke antallet af felter i forberedt sætning

  4. Omskrivning af mysql vælg for at reducere tid og skrivning af tmp til disk