sql >> Databáze >  >> RDS >> Oracle

Jak zjistím rozdíl v hodinách mezi dvěma daty?

Chyba je způsobena tím, že SYSDATE je již datum, není třeba používat TO_DATE() převést na datum.

Pokud jej nepřevedete na datum:

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

A pokud je formátování dat špatné, můžete použít dva kroky jako:

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. Výběr a vložení do více databází pomocí MySQL

  2. PHP/MySQL - ZAČÁTEK...ZÁVĚŘENÍ nefunguje

  3. Rozdělit obrovské (95Mb) pole JSON na menší části?

  4. C# - Neočekávaná výjimka metody ověřování mysql_native_password