表名:abcd
表如下
qwer                       asdf
2008-04-02 10:11:49.0      2008-04-02 10:19:47.0
2008-04-01 15:11:15.0      2008-04-01 15:14:58.0
2008-04-02 16:37:56.0      2008-04-02 16:46:02.0
...............
要计算出此表中asdf-qwer得出的时间中最短的时间和最长时间分别为多少,以小时为单位。多谢各位大侠了~!

解决方案 »

  1.   

    select min(round(asdf-qwer,2)*24),max(round(asdf-qwer,2)*24) from abcd;asdf-qwer的值取2位小数
      

  2.   

    你这个数据是jsp显式的时间,最后有0;
    真实的数据应该是没的。round4舍5入
    floor取整
      

  3.   


    报ORA-01722:invalid number错误....
    是怎么回事?
      

  4.   

    你的asdf和qwer是什么类型的字段啊,如果都是date型,肯定是可以的
      

  5.   


    这些数据是我从Excel表里倒进数据库的,表里的数据就是这样。round4舍5入 是什么意思?不好意思,我是新手。
      

  6.   


    哦,是varchar2的,那我改成date的试试,谢谢
      

  7.   

    round是个函数,作用是将结果4舍5入
      

  8.   

    2008-04-02 10:19:47.0 
    怎么处理能保存到表里面,保存的时候报‘19:47.0’is not a valid date and time错误
      

  9.   

    如果你用的是oracle,而且asdf和qwer是date型的话,试试
    select max(trunc(a.asdf) - trunc(a.qwer)),
           min(trunc(a.asdf) - trunc(a.qwer)) 
      from t_ch_dealer_gather a;