各位大侠:
    我在oracle9i中通过select to_char(sysdate,'yyyymmddhh24misssss') from dual查询获得了毫秒的时间,但是我将其以字符串形式写进数据库后,用select to_date('20080613133654002','yyyymmddhh24misssss') from dual想将时间转换成毫秒却转换不了???哪位知道怎么能将字符'20080613133654002'转换成毫秒的时间,因为我这里要用两个时间相减,精确到毫秒!!!
    谢谢!

解决方案 »

  1.   

    select to_char(sysdate,'yyyymmddhh24misssss') from dual
    结果
    20080613134549548select to_date(to_char(sysdate,'yyyymmddhh24misssss'),'yyyymmddhh24misssss') from dual
    结果
    2008/6/13 13:46:43select to_char(to_date(to_char(sysdate,'yyyymmddhh24misssss'),'yyyymmddhh24misssss'),'yyyymmddhh24misssss') from dual
    结果20080613134749650
      

  2.   

    SSSSS五个S并不是毫秒数,而是从午夜0点到现在的秒数!
      

  3.   

    SELECT   (  TO_DATE ('20080613134749650', 'yyyymmddhh24misssss')
              - TO_DATE ('20080613134549548 ', 'yyyymmddhh24misssss')
             )
           * 1440
           * 60
           * 1000
      FROM DUAL
    结果
    102000
      

  4.   

    现在表中已经有的时间格式为 yyyy-mm-dd hh24:mi:ss,我怎么才能将两个时间的字段转换成毫秒的形式再相减得到结果???
      

  5.   

    现在表中的时间字段的格式为 "yyyy-mm-dd hh24:mi:ss",不知道怎么才能将其转换成毫秒的形式后再相减??
      

  6.   

    你要是非用毫秒,可以使用systimestamp函数获得时间戳,两个时间戳相减类型为Interval,你查一下相关的资料吧!to_timestamp()可以将字符串转换成时间戳类型。