如何在 ssrs 中获取日期或 TAT 的差异

How to get the difference of dates or TAT in ssrs

我想获取日期的周转时间 (TAT)。例如: 我有一个 createddatetime 2016-11-02 06:21:34.000 和 endeddatetime 2016-11-02 22:00:00.000。我想得到两个日期的差值,小数点后两位。任何人都可以帮助执行此操作所需的 SSRS 表达式吗? 上述差异的结果是 0.67

TIA!

将数字格式设置为带 2 位小数的数字,此表达式给出的结果与 SQL 语句相同:

=Round(DateDiff(DateInterval.Second,Fields!FirstDate.Value,Fields!SecondDate.Value) /60 / 60, 0) / 24

您需要计算秒数并将其舍入为小时值以模拟 SQL 的 DATEDIFF 函数的行为,因为 .NET 版本在比较日期时仅考虑完整单位.有关详细信息,请参阅此问题:SQL Server DateDiff Vs .Net DateDiff.

如果您刚刚使用过:

=DateDiff(DateInterval.Day,Fields!FirstDate.Value,Fields!SecondDate.Value)

然后你会得到 0.00 的结果,因为这些日期之间没有完整的天数,而不是你从 SQL 语句中得到的 0.65

同样,如果您尝试:

=DateDiff(DateInterval.Hour,Fields!FirstDate.Value,Fields!SecondDate.Value) / 24

你会得到 0.63 的结果,因为你的日期之间的完整小时数是 1515 / 24 = 0.625