Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak odjąć 2 daty w Oracle, aby uzyskać wynik w godzinach i minutach?

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

Należy zauważyć, że części dziesiętne są RZECZYWISTYMI minutowymi różnicami, a nie częścią godziny. .5 , dlatego reprezentuje 50 minutes , a nie 30 minutes .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Opcja dostawy podczas składania równoległego żądania w R12.1.3

  2. Co oznacza dwukropek :robi w zapytaniu SQL?

  3. Wybieranie wartości ze zmiennej tabeli / tablicy Oracle?

  4. Lista kluczy obcych i tabel, do których się odwołują w Oracle DB

  5. Unikanie pojedynczego cudzysłowu w PLSQL