当我通过下面的代码计算时间差时,它显示了相反顺序的差异为什么?以小时计算时间差时出现意外结果?
declare @startdate time = '08:00:00', @enddate time = '01:00:00'
declare @hour varchar(25),@minutes varchar(25),@seconds varchar(25)
set @hour=datediff(ss,@startdate,@enddate)/60/60%12
set @minutes= datediff(ss,@startdate,@enddate)/60%60
set @seconds= datediff(ss,@startdate,@enddate)%60
select @hour+':'[email protected]+':'[email protected]
我正在计算12小时的差异。我期待的差别是5个小时。但它显示我-7小时。有人可以解释吗?
感谢您的澄清,但现在我正在采取startdate = '08:00:00 pm'和enddate = '01:00:00 pm'但仍然卡住相同的结果,即-7和输出应该是17小时因为时间从晚上8点到下午1点开始。为什么?使用12和24时钟 –
尝试传递日期和时间。它应该产生你想要的结果。 – Vikram
正确工作,谢谢 –