SQL Server中是否有任何函数将数字转换为时间格式?

时间:2010-06-18 08:38:49

标签: sql-server sql-server-2005 time format numbers

我在产品的持续时间内得到一个整数。例如:62,103,184,4453。我想以时间格式转换它。比方说,如果是62,它的格式就像'00:01:02'。我正在寻找一个可以解决我的问题的功能。 SQL Server中是否有将数字转换为时间格式的函数?

2 个答案:

答案 0 :(得分:1)

嗯,你有两个选择。你可以自己做60分区:

SELECT  RIGHT('0' + CAST(@seconds / 3600 AS varchar), 2) + ':' +
        RIGHT('0' + CAST((@seconds / 60) % 60 AS varchar), 2) + ':' +
        RIGHT('0' + CAST(@seconds % 60 AS varchar), 2)

或者你可以做一些与日期相关的kludge:

SELECT  CONVERT(varchar,
                DATEADD(second, @seconds, CAST('1-Jan-2000' AS datetime)),
                8)

格式8是hh:mi:来自here的ss。

答案 1 :(得分:1)

declare @d datetime
Set @d = Convert(datetime, '20010101',112 )

Set @d = dateadd(s, 62, @d)  --add 62 seconds to base date

Select convert(varchar,@D,108)