select to_date((日期字段1-日期字段2),"yyyy-mm-dd") * 24 但是现在万一时间格式不仅仅是yyyy-mm-dd 而且有hh24:mm:ss ,这个有转换成小时的好办法吗

解决方案 »

  1.   

    select trunc(sysdate - to_date('2010-7-7','yyyy-mm-dd')) 天,
    trunc((sysdate - to_date('2010-7-7','yyyy-mm-dd') -(trunc(sysdate - to_date('2010-7-7','yyyy-mm-dd')))) * 24) 时,
    trunc(((sysdate-to_date('2010-7-7','yyyy-mm-dd'))-trunc((sysdate-to_date('2010-7-7','yyyy-mm-dd')),2))*24*60) 分
     from dual
      

  2.   

    select (sysdate - to_date('2010-05-01 12:22:12','yyyy-mm-dd hh24:mi:ss')) * 24  from dual
      

  3.   

    phoenix_99只看标题就回答了哦
      

  4.   

    如果时间格式是:yyyy-mm-dd hh24:mi:ss.那要看你是想要什么结果的小时了。
    1、如果想要真实的小时(带小数):
    select (sysdate - to_date('2010-07-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) * 24  from dual;
    2、如果想要不带小数点的小时(小数四舍五入):
    select round((sysdate - to_date('2010-07-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) * 24)  from dual;
    2、如果想要不带小数点的小时(直接去掉小数):
    select trunc((sysdate - to_date('2010-07-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) * 24)  from dual;