如何在ssrs中将整数转换为HH.MM?例如:如果3600是整数,则输出应为01.00
答案 0 :(得分:0)
我会问您为什么要以这种方式显示数据,并建议您考虑采用另一种方法,例如根据数据和报告要求将开始时间增加几秒钟。
简而言之,请尽量避免在SQL中使用文本格式。并非为此目的而构建。
此外,回答您的问题;这是相当标准的整数除法和基于模的数学。您想首先将秒数除以60,然后再转换为小时除以60。取而代之的是取模,以获取小时计算中剩余的分钟数。其余的是文本格式:
declare @t table (s int);
insert into @t values(3600),(28800)
select s
,right('00' + cast(s/60/60 as varchar(2)),2) + '.' + right('00' + cast(s/60%60 as varchar(2)),2) as Formatted
from @t
输出:
+---+-------+-----------+
| | s | Formatted |
+---+-------+-----------+
| 1 | 3600 | 01:00 |
| 2 | 28800 | 08:00 |
+---+-------+-----------+
答案 1 :(得分:0)
declare @s int;
set @s = 3760
select right('00' + cast (@s/3600 as nvarchar(max)) , 2) +':' +right('00' +cast((@s % 3600)/60 as nvarchar(max)) ,2)
为此仅使用数学运算符。