如何转换时间SQL为十进制与整数(How to convert Time to Decimal in

2019-08-03 07:29发布

我有几个问题的转换时间为十进制...

基本上我已经使用了一个DATEDIFF识别两个日期和时间之间的小时和分钟。 这产生了5.45的结果,但是我想获得的结果为5.75。

select RTRIM(DATEDIFF(second, startdate, enddate)/3600)+'.'
+ RIGHT('0'+RTRIM((DATEDIFF(second, startdate, enddate) % 3600)/60),2)
from time

我已经尝试了一些东西,但我认为问题是,这是不是一个整数,这就是为什么我不能转换分钟。

Answer 1:

找60分钟的时间差,和除法,这将会把小数点前的几个小时和分钟后:

datediff(minute, startdate, enddate) / 60.0


Answer 2:

Select DATEDIFF(second,  startdate, enddate)/3600.0


Answer 3:

正如提到的这个答案 ,“拿在几秒钟内,而不是DateDiff的,然后由86400.0划分为必填项,小数点。”



文章来源: How to convert Time to Decimal in SQL with an integer