CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

如何求出两个时间点之间相差的毫秒数?

楼主glmcglmc(joe)2004-09-03 13:36:59 在 Oracle / 开发 提问

如何求出两个时间点之间相差的毫秒数:  
   
  我有两个timestamp类型的数据,请问如何求出它们之间相差的秒数,甚至毫秒数,要返回数值类型?  
  select   to_timestamp('1999-12-12   12:12:12.777','yyyy-mm-dd   hh24:mi:ss.ff3')   -   to_timestamp('1999-12-12   12:12:11.222','yyyy-mm-dd   hh24:mi:ss.ff3')   from   dual;  
  只能得到个interval   类型........  
   
  问题点数:50、回复次数:4Top

1 楼baojianjun(包子)回复于 2004-09-03 14:13:31 得分 50

计算小时,分,秒,毫秒  
                  select  
                                  Days,  
                                  A,  
                                  TRUNC(A*24)                                                                           Hours,  
                                  TRUNC(A*24*60   -   60*TRUNC(A*24))                                   Minutes,  
                                  TRUNC(A*24*60*60   -   60*TRUNC(A*24*60))                       Seconds,  
                                  TRUNC(A*24*60*60*100   -   100*TRUNC(A*24*60*60))       mSeconds  
                  from  
                  (  
                  select  
                                  trunc(sysdate)                           Days,  
                                  sysdate   -   trunc(sysdate)             A  
                  from   dual  
                  )Top

2 楼baojianjun(包子)回复于 2004-09-03 14:13:44 得分 0

9i以上版本  
  -----------------------------  
  SQL>select   to_char(systimestamp,'yyyy-mm-dd   hh24:mi:ssxff')   time1,    
  to_char(current_timestamp)   time2   from   dual;  
   
  TIME1                                                   TIME2  
  -----------------------------   ----------------------------------------------------------------  
  2003-10-24   10:48:45.656000         24-OCT-03   10.48.45.656000   AM   +08:00  
  可以看到,毫秒在to_char中对应的是FF。  
   
  SQL>   select   to_timestamp('2003-10-24   10:48:45.656000','yyyy-mm-dd   hh24:mi:ssxff')   from   dual;  
   
  TO_TIMESTAMP('2003-10-2410:48:  
  -------------------------------------------------  
  24-10月-03   10.48.45.656000000   上午  
   
   
   
   
   
  Top

3 楼baojianjun(包子)回复于 2004-09-03 14:14:20 得分 0

好多人问这个问题了,唉    
  如果是9i,可以直接取到毫秒    
       
  如果是8i,可以得到1/100秒    
  如果需要得到毫秒,请用如下java过程    
  SQL>create   or   replace   and   compile      
  java   source    
  named   "MyTimestamp"    
  as    
  import   java.lang.String;    
  import   java.sql.Timestamp;    
       
  public   class   MyTimestamp    
  {    
  public   static   String   getTimestamp()    
          {    
              return(new   Timestamp(System.currentTimeMillis())).toString();    
          }    
  };    
       
  SQL>java   created.    
  注:注意java的语法,注意大小写    
       
  SQL>create   or   replace   function   my_timestamp   return   varchar2    
  as   language   java    
  name   'MyTimestamp.getTimestamp()   return   java.lang.String';    
  /    
       
  SQL>function   created.    
       
  SQL>select   my_timestamp,to_char(sysdate,'yyyy-mm-dd   hh24:mi:ss')   ORACLE_TIME   from   dual;    
       
  MY_TIMESTAMP                           ORACLE_TIME    
  ------------------------   -------------------    
  2003-03-17   19:15:59.688     2003-03-17   19:15:59      
  Top

4 楼glmcglmc(joe)回复于 2004-09-03 15:48:50 得分 0

楼上请看清楚我的问题,我并不是不知道取到毫秒,也不时不知道如何用timestamp,DATE类型可以直接相减得到一个NUMBER类型(天),此数值可以换算成任何我想要的如小时,分钟,秒等等。。。  
  我现在是用timestamp啊。。该如何得到之间的差,并且我要把差换算成毫秒?Top

相关问题

  • 求两个时间之间相差天数的问题?
  • 如何返回两个时间相差的分钟数?
  • 如何返回两个时间相差的分钟数?
  • 怎么计算2个时间相差的秒数啊??
  • 如何计算当前时间与设定时间相差的分钟数
  • 怎样用php实现两个时间相减,得到相差的天数??
  • 请问在Oracle中怎么求两个时间相差的天数
  • 求一函数,等获取两个时间点相差多少分钟的
  • 求教:MySQL中如何计算两个时间之间相差的秒数?
  • 如何比较两个TDateTime类型的时间,如何得到两个TDateTime类型时间相差的天数?

关键词

  • sql
  • timestamp
  • trunc
  • mytimestamp
  • 之间相差
  • yyyy
  • sysdate
  • dd hh
  • 类型
  • mi

得分解答快速导航

  • 帖主:glmcglmc
  • baojianjun

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo