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

Jak mogę uzyskać różnicę w godzinach między dwiema datami?

Błąd jest spowodowany tym, że SYSDATE jest już datą, nie ma potrzeby używania TO_DATE() przekonwertować go na datę.

Jeśli nie przekonwertujesz go na datę:

select
    24 * (sysdate - to_date('2012-02-28 15:20', 'YYYY-MM-DD hh24:mi')) as diff_hours
from dual;

A jeśli formatowanie dat jest nieprawidłowe, możesz użyć dwóch kroków, takich jak:

select
    24 * (to_date(to_char(sysdate, 'YYYY-MM-DD hh24:mi'), 'YYYY-MM-DD hh24:mi') - to_date('2012-02-28 15:20', 'YYYY-MM-DD hh24:mi')) as diff_hours
from dual;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak rozłożyć średnią między dwoma interwałami w Oracle

  2. Konwertuj WM_CONCAT na Listagg

  3. dyld:leniwe wiązanie symbolu nie powiodło się dla php oic8 na Apple M1

  4. Wyświetlanie komunikatów okna modalnego w formularzach Oracle za pomocą Show_Alert

  5. Liczba lub znak dla kolumny klucza podstawowego