2012-01-30 110 views
1

我使用hh:mm格式與SQL Server

CONVERT(CHAR(5), DATEADD(n, value),0), 108) 

到分鐘轉換爲hh:mm格式,但是當我有那麼多鍾適應24小時它打破。例如。 1440給出00:00而不是24:00

我該如何解決這個問題?

回答

2

考慮使用%模運算:

select cast(n/60 as varchar(20)) + ':' + 
     right('0' + cast(n%60 as varchar(2)), 2) 
+0

工作差不多,不同的是它提供瞭如24:0,而不是24:00。有什麼機會解決這個問題? – Lennart 2012-01-30 16:38:57

+0

您可以用「0」加前綴分鐘,並取最右邊的兩個字符,回答已編輯的 – Andomar 2012-01-30 16:52:50

+0

夠公平。希望獲得更清晰的解決方案,猜測代碼並不總是詩歌。謝謝。 – Lennart 2012-01-30 19:55:11

1

嘗試是這樣的:

declare @minutes int 
select @minutes = 1440 

select convert(varchar, @minutes/60) + ':' + right ('0'+convert(varchar, @minutes%60), 2)