I have a database column containing an integer value that represents a systems up time in seconds. I\'d really like a query to be able to show me that up time in a easy to r
This is another approach using DATEPART():
DECLARE @S INT = 86472,
@START DATETIME = CONVERT(DATETIME,0)
DECLARE @END DATETIME = DATEADD(SECOND,@S, @START)
SELECT CONVERT(VARCHAR(10),DATEPART(DAY,@END)-1) + ' Day(s) ' +
RIGHT(CONVERT(VARCHAR(10),100+DATEPART(HOUR, @END)),2) + ':' +
RIGHT(CONVERT(VARCHAR(10),100+DATEPART(MINUTE, @END)),2) + ':' +
RIGHT(CONVERT(VARCHAR(10),100+DATEPART(SECOND, @END)),2)
If you don't need to format time part:
SELECT CONVERT(VARCHAR(10),DATEPART(DAY,@END)-1) + ' Day(s) ' +
CONVERT(VARCHAR(10),DATEPART(HOUR, @END)) + ' Hour(s)' +
CONVERT(VARCHAR(10),DATEPART(MINUTE, @END)) + ' Minute(s)' +
CONVERT(VARCHAR(10),DATEPART(SECOND, @END)) + ' Second(s)'