我为小时和分钟分别设置了整数,我需要找到一种方法来获取小时总数,然后是分钟,最好采用HH:MM格式。我面临的问题是,当分钟数少于十分钟时,没有前导零,而我出于报告原因正在这样做,因此希望能够做类似的事情
总工作时间
102:06代表102小时6分钟
DECLARE @hours INT = 102
declare @minutes int = 6
SELECT
CONCAT(CAST (SUM((@hours*60)+@minutes)/60 AS VARCHAR(5)) , ':' , CAST (SUM((@hours*60)+@minutes)%60 AS VARCHAR(2)))
答案 0 :(得分:1)
在SQL Server中,您可以执行以下操作:
select concat(hours, ':',
right('00' + minutes, 2)
)
另一种方法是:
select concat(hours, ':',
right(convert(varchar(255), 100 + minutes), 2)
)
答案 1 :(得分:0)
另一个使用format()的类似选项
示例
DECLARE @hours INT = 102
declare @minutes int = 6
Select concat(@hours,format(@minutes,':00'))
返回
102:06