我有一份SSRS报告,需要将秒数转换为小时和分钟。这些值有正数和正数,其中一些超过24小时,我发现以下查询,它有帮助,但不会显示超过24小时。
姓名| ID | VT
---- | - | ------
abc | 1 | -633600.000000
=IIF(SUM(Fields!VT.Value)=0,"0:00",
IIF(SUM(Fields!VT.Value)< 86400,"-"&Format(DateAdd("s",ABS(SUM(Fields!VT.Value)), "00:00"), "HH:mm"),
Floor(Fields!VT.Value / 86400) & " days, " & Format(DateAdd("s",ABS(SUM(Fields!VT.Value)), "00:00"), "HH:mm")
姓名| ID | VT
---- | - | ------
abc | 1 | -16:00
它应该显示
名称| ID | VT
---- | - | ------
abc | 1 | -176:00
我尝试将上面的内容改写为以下内容,并且我得到了语法错误,(它说我没有假定义)
DECLARE @sqlCommand nvarchar(1000)
SET @sqlCommand = 'SELECT TOP 1
@isDeleted = IsDeleted,
@deletedDate = Deleted
FROM ' + @FullTableName +
'WHERE ID = ' + cast(@RowID as nvarchar(30)) + '';
EXECUTE sp_executesql @sqlCommand,
N'@isDeleted bit out N@deletedDate DATETIME out',
@isDeleted out, @deletedDate out
我做错了什么?
答案 0 :(得分:1)
我想我已经得到了它!
= IIF(SUM(Fields!VT.Value)= 0,&#34; 0:00&#34;,Floor(SUM(Fields!VT.Value)/ 3600)&amp;&#34;:&#34;&amp; Format(DateAdd(&#34; s&#34;,ABS(SUM(Fields!VT.Value)),&#34; 00:00&#34; ) &#34; MM:SS&#34))
这给了我需要的结果。