如何在 SQL Server 中根据小数计算小时和分钟

问题描述 投票:0回答:1

工作时间栏值如下

2
5.3
7.45
0.5
0.3
2.05

预期产量
18.40(18小时40分钟)

解释

2 (2 hours)
5.3 (5 hours 30 mins) 
7.45 (7 hours 45 mins)
0.5 (50 mins)
0.3 (30 mins)
2.05 (2 hours 5 mins)

先添加小数点后的数字

小数点后应为2位
(如何做到这一点?它是浮点数据类型列,它将 5.30 存储为 5.3)

小数点后的数字

00
30
45
50
30
05
----
160 (mins)
----

添加整数
2 + 5 + 7 + 2 = 16

160 分钟 --> 2 小时 40 分钟
预计回复时间为18小时40分钟

sql-server addition
1个回答
0
投票

由于您使用的是非标准方式以十进制格式表示分钟,因此您应该在将它们相加之前将各个数字(小时计数)转换为真正的十进制格式:

SELECT SUM((hours%1)*10/6+FLOOR(hours)) as decimalHoursSum FROM hoursTable

然后可以通过执行以下操作将

decimalHoursSum
分解为小时和分钟

SELECT decimalHoursSum%1 as hours,ROUND(decimalHoursSum%1*60) as minutes
© www.soinside.com 2019 - 2024. All rights reserved.