Я использую
CONVERT( CHAR(5), DATEADD(n, value),0), 108)
для преобразования минут в формат hh:mm, но он прерывается, когда у меня больше минут, чем умещается в 24 часа.Например, 1440 дает 00:00 вместо 24:00.
hh:mm
1440
00:00
24:00
Как я могу это исправить?
Рассмотрите возможность использования оператора % по модулю:
%
select cast(n/60 as varchar(20)) + ':' + right('0' + cast(n%60 as varchar(2)), 2)
Попробуйте что-то вроде этого:
declare @minutes int select @minutes = 1440 select convert(varchar, @minutes/60) + ':' + right ('0'+convert(varchar, @minutes%60), 2)