如何在SQL中使用整数将时间转换为十进制

如何在SQL中使用整数将时间转换为十进制,sql,sql-server,time,decimal,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 我尝试了一些方法,但我相信问题在于这不是整数,这就是

我在将时间转换为十进制时遇到了一些问题

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

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

我尝试了一些方法,但我相信问题在于这不是整数,这就是我无法转换分钟的原因。

如“以秒为单位计算日期差,然后除以86400.0。小数点是必需的。”

如中所述,“取而代之的是以秒为单位的DateDiff,然后除以86400.0。小数点是必需的。”

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

datediff(minute, startdate, enddate) / 60.0

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

datediff(minute, startdate, enddate) / 60.0

这返回的是天,但听起来他想要小时和分钟。这返回的是天,但听起来他想要小时和分钟。这看起来不像是上面线程的重复,因为该线程谈论“整天差异”,而上面的问题是格式化“小时和分钟差异”“。这看起来不像是上述线程的重复,因为该线程讨论的是“全天差异”,而上述问题是关于格式化“小时和分钟差异”。