两个date相减得到是天数,乘以24为小时,再乘60为分钟

解决方案 »

  1.   

    select floor(to_date('2003/5/7','yyyy/mm/dd')-to_date('2003/4/1','yyyy/mm/dd')) as 天,
    floor((to_date('2003/5/7','yyyy/mm/dd')-to_date('2003/4/1','yyyy/mm/dd'))*24) as 小时,
    floor((to_date('2003/5/7','yyyy/mm/dd')-to_date('2003/4/1','yyyy/mm/dd'))*24*60) as 分钟 
    from dual
    ^_^>/        天       小时       分钟
    ---------- ---------- ----------
            36        864      51840
      

  2.   

    1.先执行:select to_date('2003-05-07','yyyy-mm-dd')-to_date('2003-04-01','yyyy-mm-dd') from dual;
    2.用to_char(date1-date2,'yyyy-mm-dd hh24:mm')方式再仔细换算。