计算两个日期 SQL 2012 - Format/Convert 之间的时差作为 SSRS 的时间

Calculate time difference between two dates SQL 2012 - Format/Convert as TIME for SSRS

我希望有人能提供帮助。我已经阅读了关于这个主题的几个问题/答案并且已经能够复制一些解决方案,但是我正在努力将我的输出格式化为时间格式以便我可以在 SSRS 报告中聚合,我目前得到一个#Error。我已经使用下面的代码找到了两个日期之间的时差,但是该字段是 VARCHAR,有没有办法转换时间或 INT 以便我可以在 SSRS 中格式化?

,CONVERT(VARCHAR(5),DATEDIFF (SECOND, FFP.[CreatedDate], FFP.[LastModifiedDate])/3600)+':'+
 CONVERT(VARCHAR(5),DATEDIFF (SECOND, FFP.[CreatedDate], FFP.[LastModifiedDate])%3600/60)+':'+
 CONVERT(VARCHAR(5),(DATEDIFF(SECOND, FFP.[CreatedDate], FFP.[LastModifiedDate])%60))+'.'+
 CONVERT(VARCHAR(5),(DATEDIFF(SECOND, FFP.[CreatedDate], FFP.[LastModifiedDate])%1000))     AS [Test] 

示例日期和输出 CreatedDate = 2016-10-10 10:53:26.0829077 最后修改日期 = 2016-10-10 11:06:09.2670000 输出 = 0:12:43.763。有没有办法将其转换为时间字段?

在 SSRS 中,您可以使用 CDate() 函数将日期字符串转换为日期时间对象。

例如:

=FORMAT(
DATEADD(
  DateInterval.Second,
  DATEDIFF(DateInterval.Second,CDATE("2016-10-10 10:53:26.0829077"),
    CDATE("2016-10-10 11:06:09.2670000")
  ),
  CDATE("00:00:00"))
,"HH:mm:ss")

在这种情况下,它以秒为单位计算两个日期之间的差异,然后将以秒为单位的差异相加为 00:00:00,最后格式化为 HH:mm:ss.

如果有帮助请告诉我。