如何使用整数将SQL中的Time转换为Decimal

时间:2012-11-29 00:07:52

标签: sql sql-server time decimal

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

基本上我使用DATEDIFF来识别两个日期和时间之间的小时和分钟。这会产生5.45的结果,但是我希望得到5.75的结果。

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

我尝试过一些事情,但我认为问题在于这不是一个整数,这就是我无法转换分钟的原因。

3 个答案:

答案 0 :(得分:2)

获取以分钟为单位的时差,除以60,这将在小数分隔符前后数小时和分钟后分钟:

datediff(minute, startdate, enddate) / 60.0

答案 1 :(得分:1)

Select DATEDIFF(second,  startdate, enddate)/3600.0

答案 2 :(得分:0)

this answer中所述,“以秒为单位取日期,然后除以86400.0。小数点是必需的。”