Когда я вычисляю разницу во времени по нижнему коду, это показывает мне разницу в обратном порядке. Почему?Неожиданный результат при расчете разницы во времени в час?
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
точно работает, спасибо –