表A中,有字段start_time、end_time,数据类型是varchar2(100)比如现在表中的数据是
start_time             |  end_time
2010-12-28 11:07:40    |  2010-12-29 08:07:40注:日期和时间之间,有一个空格请问,我想计算两个的时间差,怎么算···

解决方案 »

  1.   


    SQL> select numtodsinterval(
      2         e_t - add_months(s_t , trunc(months_between(s_t , e_t))),
      3         'day'
      4         ) day_hours
      5  from (select  to_date('2010-12-28 11:07:40','yyyy-mm-dd hh24:mi:ss') s_t,
      6                to_date('2010-12-29 08:07:40','yyyy-mm-dd hh24:mi:ss') e_t
      7                from dual);DAY_HOURS
    ---------------------------------------
    +000000000 21:00:00.000000000