В SQL 2005 вы можете использовать следующее:
select convert(varchar(8), dateadd(second, [SecondsColumn], 0), 108)
Который сначала преобразует секунды в дату после 1900-01-01, а затем получает часть чч: мм: сс.
Если столбец больше 24 часов, он перевернется, если вы хотите, чтобы дни, а затем часы в этом случае просто делали что-то вроде:
case when SecondsColumn> (24*60*60)
then
cast(datepart(day,datediff(dd, 0, dateadd(second, SecondsColumn, 0))) as varchar(4))
+ 'd' + convert(varchar(2), dateadd(second, SecondsColumn, 0), 108)
else
convert(varchar(8), dateadd(second, SecondsColumn, 0), 108)
end