SSRS将负秒和正秒转换为小时和分钟

时间:2016-11-29 16:55:16

标签: reporting-services visual-studio-2008 reporting

我有一份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

我做错了什么?

1 个答案:

答案 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))

这给了我需要的结果。