在我的程序中,我写了一个查询,以获得两个日期的小时差异。
在某些情况下,我没有得到正确的区别。
这是我的代码:
Declare @@Totalwork as Float
set @Totalwork = (SELECT DATEDIFF(MINUTE, @fpunch, @SPunch))
set @Totalwork = (select ABS(@Totalwork))
set @totalWork = (select left((cast(@Totalwork as float) / 60), 3))
当我在datediff
函数中使用两次时,我没有得到正确的工作时间。其实我想要正确的差异。
我把价值放在下面。
SELECT DATEDIFF(hour, '10:15', '00:15')
这里10:15是早上时间,00:15是凌晨时间。
如何将时间转换为24小时格式?
答案 0 :(得分:0)
使用datetime计算
Declare @Totalwork as datetime
SET @Totalwork= @SPunch - @fpunch
以下是一些不同的计算方法:
SELECT
datediff(hour, 0, @Totalwork) [hours],
datediff(minute, 0, @Totalwork) % 60 [remaining minutes],
datediff(minute, 0, @Totalwork) totalminutes
cast(@Totalwork as time) [timedifference],
@Totalwork actualdifference,
cast(@Totalwork as float) / 24 decimalhours