Oracle
 sql >> база данни >  >> RDS >> Oracle

Как мога да получа разликата в часовете между две дати?

Грешката е, защото SYSDATE вече е дата, няма нужда да използвате TO_DATE() за да го конвертирате в дата.

Ако не го конвертирате в дата:

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

И ако форматирането на датите е грешно, можете да използвате две стъпки като:

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. Политика за корекция

  2. Разделяне на сумата с помощта на запетая в Oracle

  3. libaio.so.1:не може да отвори споделен обектен файл

  4. Нуждаете се от помощ за разбиране на поведението на SELECT ... FOR UPDATE, причиняващо блокиране

  5. Въведение в оператора FORALL в базата данни на Oracle