欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

计算Oracle两个TIMESTAMP相差的毫秒数

程序员文章站 2022-06-12 09:29:59
...

CREATE OR REPLACE FUNCTION uf_timestamp_diff(endtime in TIMESTAMP,starttime in TIMESTAMP)RETURN INTEGERAS str VARCHAR2(5

CREATE OR REPLACE FUNCTION uf_timestamp_diff(endtime in TIMESTAMP,starttime in TIMESTAMP)

RETURN INTEGER

AS

str VARCHAR2(50);

misecond INTEGER;

seconds INTEGER;

minutes INTEGER;

hours INTEGER;

days INTEGER;

BEGIN

str:=to_char(endtime-starttime);

misecond:=to_number(SUBSTR(str,INSTR(str,' ')+10,3));

seconds:=to_number(SUBSTR(str,INSTR(str,' ')+7,2));

minutes:=to_number(SUBSTR(str,INSTR(str,' ')+4,2));

hours:=to_number(SUBSTR(str,INSTR(str,' ')+1,2));

days:=to_number(SUBSTR(str,1,INSTR(str,' ')));


RETURN days*24*60*60*1000+hours*60*60*1000+minutes*60*1000+seconds*1000+misecond;

END;

计算Oracle两个TIMESTAMP相差的毫秒数