sql – 如何在oracle中减去2个日期以获得小时和分钟的结果
发布时间:2021-01-18 21:08:02 所属栏目:MsSql教程 来源:网络整理
导读:我想减去2个日期,用小时数表示小时和分钟的结果. 我有下表,我这样做,但结果并不理想. 有一些细微的变化,我确信这是简单的算术,但我没有做对. select start_time,end_time,(end_time-start_time)*24 from come_leav; START_TIME END_TIME (END_TIME-START_T
我想减去2个日期,用小时数表示小时和分钟的结果. 我有下表,我这样做,但结果并不理想. 有一些细微的变化,我确信这是简单的算术,但我没有做对. select start_time,end_time,(end_time-start_time)*24 from come_leav; START_TIME END_TIME (END_TIME-START_TIME)*24 ------------------- ------------------- ------------------------ 21-06-2011 14:00:00 21-06-2011 16:55:00 2.9166667 21-06-2011 07:00:00 21-06-2011 16:50:00 9.8333333 21-06-2011 07:20:00 21-06-2011 16:30:00 9.1666667 我想要结果(end_time-start_time)如下. 16:55- 14:00 = 2.55 16:50-07:00 = 9.5 16:30-7:20 = 9.1 and so on. 我怎样才能做到这一点? 解决方法SQL> edit Wrote file afiedt.buf 1 select start_date 2,end_date 3,(24 * extract(day from (end_date - start_date) day(9) to second)) 4 + extract(hour from (end_date - start_date) day(9) to second) 5 + ((1/100) * extract(minute from (end_date - start_date) day(9) to second)) as "HOUR.MINUTE" 6* from t SQL> / START_DATE END_DATE HOUR.MINUTE ------------------- ------------------- ----------- 21-06-2011 14:00:00 21-06-2011 16:55:00 2.55 21-06-2011 07:00:00 21-06-2011 16:50:00 9.5 21-06-2011 07:20:00 21-06-2011 16:30:00 9.1 应该注意的是,对于那些遇到此代码的人来说,小数部分是实际的微小差异,而不是一小时的一部分.因此,.5代表50分钟,而不是30分钟. (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |