DateDiff 显示分钟和秒
DateDiff to show Minutes and Seconds
我需要计算差异并让我的答案显示分钟和秒。这是示例
Declare @clockin datetime, @clockout datetime, @total decimal(18,4)
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
Set @total = DateDiff(minute, @clockin, @clockout)
但是这个 returns 一个整数我也需要它来显示秒数。
希望这个方法可以帮到你,这个方法的解决方法很简单,我们就是得到中间的秒数,然后用模运算符简单的除以秒计算分。
Declare @clockin datetime, @clockout datetime, @totalSeconds int
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
Select @totalSeconds = Cast((@clockout - @clockin) as Float) * 24.0 * 60 *60
Select @totalSeconds /60 as [Minutes], @totalSeconds % 60 as [Seconds]
如果你想扩展你的方法,只需稍微改变一下计算秒和分钟的差异,然后按照上面的方法来分隔分钟和秒,它看起来像这样:
Declare @clockin datetime, @clockout datetime, @total int
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
Set @total = DateDiff(second, @clockin, @clockout)
Select @total/60 as [Minutes], @total % 60 as [Seconds]
结果:
分钟:227,秒:23
随心所欲地玩这个,如果你只将鼠标悬停在 returns 和 int
上,真正的问题是 DATEDIFF
Declare @clockin datetime, @clockout datetime, @total datetime
declare @realtotal decimal(18,4)
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
select @total = dateadd(ss, DATEDIFF(ss, @clockin, @clockout), cast(0 as DateTime))
select @total
select @realtotal = datepart(hour,@total)*60 + datepart(minute,@total) + (datepart(second,@total)*.01)
select @realtotal
我需要计算差异并让我的答案显示分钟和秒。这是示例
Declare @clockin datetime, @clockout datetime, @total decimal(18,4)
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
Set @total = DateDiff(minute, @clockin, @clockout)
但是这个 returns 一个整数我也需要它来显示秒数。
希望这个方法可以帮到你,这个方法的解决方法很简单,我们就是得到中间的秒数,然后用模运算符简单的除以秒计算分。
Declare @clockin datetime, @clockout datetime, @totalSeconds int
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
Select @totalSeconds = Cast((@clockout - @clockin) as Float) * 24.0 * 60 *60
Select @totalSeconds /60 as [Minutes], @totalSeconds % 60 as [Seconds]
如果你想扩展你的方法,只需稍微改变一下计算秒和分钟的差异,然后按照上面的方法来分隔分钟和秒,它看起来像这样:
Declare @clockin datetime, @clockout datetime, @total int
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
Set @total = DateDiff(second, @clockin, @clockout)
Select @total/60 as [Minutes], @total % 60 as [Seconds]
结果:
分钟:227,秒:23
随心所欲地玩这个,如果你只将鼠标悬停在 returns 和 int
上,真正的问题是 DATEDIFFDeclare @clockin datetime, @clockout datetime, @total datetime
declare @realtotal decimal(18,4)
Set @clockin = '2015-01-03 08:15:19.000'
Set @clockout = '2015-01-03 12:02:42.000'
select @total = dateadd(ss, DATEDIFF(ss, @clockin, @clockout), cast(0 as DateTime))
select @total
select @realtotal = datepart(hour,@total)*60 + datepart(minute,@total) + (datepart(second,@total)*.01)
select @realtotal