select (OpenTime-Sysdate)*24*3600 from UserTable

解决方案 »

  1.   

    按你sqlserver的写法应该
    select (Sysdate-OpenTime)*24*3600 from UserTable
      

  2.   

    谢谢waterfirer(水清),但我得出来的数是"2654 0:0:0.0",这个是数值型吗?因为我想将得出来的数做一个判断.
      

  3.   

    select sysdate - to_date('2005-08-31 03:34:00','yyyy-mm-dd hh24:mi:ss') from dual23.52974537037037037037037037037037037037两个日期直接相减,值单位为:天 ,然后根据需要处理小数位.
      

  4.   

    Select substr(to_char((Sysdate-OpenTime)*24*3600),7,4) m from UserTable这样就可以得到想要的秒数了吧?
      

  5.   

    但我得出来的数是"2654 0:0:0.0"
    --------
    奇怪,你看到dinya2003(OK)的结果了吗,*24*3600后应该是整数,你的怎么是这样结果?
    OpenTime是什么值?
      

  6.   

    select sysdate - to_date('2005-08-31 03:34:00','yyyy-mm-dd hh24:mi:ss') from dual23.52974537037037037037037037037037037037两个日期直接相减,值单位为:天 ,然后根据需要处理小数位.
      

  7.   

    我的OpenTime的类型如下: TimeStamp default sysdate
      

  8.   

    而且我调用dinya2003(OK)的:select sysdate - to_date('2005-08-31 03:34:00','yyyy-mm-dd hh24:mi:ss') from dual返回是:2.35560763888888888888888888888888888889E01
    这怎么回事啊.我用的是Oralce10.1版本的.
      

  9.   

    这样应该没问题
    select (Sysdate-to_date(to_char(OpenTime,'yyyymmdd hh24:mi:ss'),'yyyymmdd hh24:mi:ss'))*24*3600 from UserTable
    好像还有别的办法,我再找找