oracle 获取时间差
发布网友
发布时间:2022-05-01 12:52
我来回答
共4个回答
热心网友
时间:2022-05-01 14:21
select
to_date('2011-11-11 10:23:22','yyyy-mm-dd HH24:MI:SS')-to_date('2011-11-10 09:12:34','yyyy-mm-dd HH24:MI:SS') from al;
这样获得是天,你可以再乘以 24*60*60便会得到秒。
ok,给分吧,需要分下文档。谢谢。追问开始日期 2011-07-12 14:43:01结束日期 2011-07-13 14:54:57
耗时: 1天11分56秒
我想要的是这种效果 请问这个怎么写?
不用存储过程,直接写sql 语句能实现么?
热心网友
时间:2022-05-01 15:39
CREATE OR REPLACE Function timeinterval (d_begindate Date,d_enddate Date) --计算两个日期之间相差的天数、小时数、分钟数、秒数
Return Varchar2
Is
s_timeinterval Varchar2(40);n_timeinterval Number;n_day Number;n_hour Number;n_minute Number;n_second Number;n_timesurplus Number;
Begin
If d_begindate Is Null Or d_enddate Is Null Then
s_timeinterval:=Null;
Else
Select (d_enddate-d_begindate)*24*60*60 Into n_timeinterval From al;
n_day:=floor(n_timeinterval/24/60/60);
n_timesurplus:=Mod(n_timeinterval,24*60*60);
n_hour:=floor(n_timesurplus/60/60);
n_timesurplus:=Mod(n_timesurplus,60*60);
n_minute:=floor(n_timesurplus/60);
n_timesurplus:=Mod(n_timesurplus,60);
n_second:=floor(n_timesurplus);
s_timeinterval:=n_day||'天'||n_hour||'小时'||n_minute||'分'||n_second||'秒';
End If;
Return s_timeinterval;
End;
热心网友
时间:2022-05-01 17:14
发送时间字段名:fssj;审批时间字段名:spsj
时间差(秒):(spsj-fssj)*24*60*60
热心网友
时间:2022-05-01 19:05
select (to_date('2011-11-10 09:12:34','yyyy-mm-dd hh24:mi:ss') - to_date('2011-11-11 10:23:22','yyyy-mm-dd hh24:mi:ss'))*86400 from al
要分,谢谢追问这位大侠,请问你的结果你测试过么。
-90648
请问这结果是什么意思?
追答-90648 表示 第一个时间比第二个时间小 90648 秒啊,
就是说时间1跟时间2差了90648秒