gpt4 book ai didi

sql - 如何在oracle中减去2个日期以获得小时和分钟的结果

转载 作者:行者123 更新时间:2023-12-04 04:18:59 24 4
gpt4 key购买 nike

我想减去 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 等等。

我怎样才能做到这一点?

最佳答案

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 minutes ,不是 30 minutes .

关于sql - 如何在oracle中减去2个日期以获得小时和分钟的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7460266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com