sql >> Databasteknik >  >> RDS >> Oracle

Hur man subtraherar 2 datum i orakel för att få resultatet i timme och 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 bör noteras för de som stöter på den här koden att decimaldelarna är FAKTA minutskillnader och inte en del av en timme. .5 , därför representerar 50 minutes , inte 30 minutes .



  1. Oracle Concurrent Manager

  2. MERGE:Uppdatering av käll- och måltabeller som finns på separata servrar

  3. Lagrad procedur för att få indexstatus i alla databaser

  4. Funktioner vs lagrade procedurer