是否有任何棘手的方法来格式化秒,如小时:分钟:秒。例如,
3660
秒将显示为
01h 01m 00s
或
1时01分00秒
我知道这样做的标准方法:
我遇到了以下问题:
我无法创建执行此操作的单独功能。
使用多个CTE查看我的代码。因此,变量可以声明 仅使用CTE。
答案 0 :(得分:11)
SELECT CONVERT(VARCHAR(10),Seconds/3600)
+':'
+ RIGHT('00'+CONVERT(VARCHAR(2),(Seconds%3600)/60),2)
+':'
+ RIGHT('00'+CONVERT(VARCHAR(2),Seconds%60),2) AS [HH:MM:SS]
FROM table1
答案 1 :(得分:6)
试试这个:
SELECT CONVERT(TIME(0), DATEADD(SS,***seconds***,0),108) as 'FieldName'
将返回HH:MM:SS
示例:
46800秒=下午1:00
FieldName = 13:00:00
希望这有帮助。
答案 2 :(得分:2)
SELECT cast(seconds/3600 as varchar(6)) +
right(cast(dateadd(second, seconds,0) as time(0)), 6)
FROM <yourtable>