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

Oblicz różnicę między 2 datami / godzinami w Oracle SQL

W Oracle można odjąć daty. To da ci różnicę w dniach. Pomnóż przez 24, aby uzyskać godziny itd.

SQL> select oldest - creation from my_table;

Jeśli Twoja data jest przechowywana jako dane znakowe, musisz najpierw przekonwertować ją na typ daty.

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

Uwaga :

Ta odpowiedź dotyczy dat reprezentowanych przez typ danych Oracle DATE .Oracle ma również typ danych TIMESTAMP , który może również reprezentować datę (z czasem). Jeśli odejmiesz TIMESTAMP wartości, otrzymasz INTERVAL; aby wyodrębnić wartości liczbowe, użyj EXTRACT funkcja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oblicz godziny na podstawie godzin pracy w Oracle SQL

  2. Jak zwrócić uniksową sygnaturę czasową w Oracle?

  3. Dlaczego otrzymuję PLS-00302:komponent musi być zadeklarowany, gdy istnieje?

  4. Oracle SQL Developer 21.4.2 i SQLcl 21.4.1 są już dostępne

  5. Napraw błąd „ORA-01789:blok zapytania ma nieprawidłową liczbę kolumn wyników”