如何求出两个时间点之间相差的毫秒数?
如何求出两个时间点之间相差的毫秒数:
我有两个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




