如何让时间显示如下:SQL Server 2012中查询的9.25小时

时间:2017-01-19 03:26:40

标签: sql sql-server-2012

我目前在查询中有以下代码行,它不会显示任何内容:

datediff(mi, Job.DateStart, Job.DateFinished / 60.0,

这些是我正在努力获得最佳时间的日期和时间:

日期开始时间:2017-01-18 13:52:26.080, DateFinished:2017-01-18 13:52:28.163

我想把时间显示得像这样:0.02小时。

我查看并使用了几个代码但没有显示任何内容。

此致

1 个答案:

答案 0 :(得分:0)

假设9.25表示小时而不是9h, 25m(这似乎是因为你除以60的事实证明了这一点),你所拥有的是非常接近的而不是一个小的缺少括号的语法问题。

通过在rextester online SQL compiler

等在线工具中输入以下内容即可证明这一点
select datediff(mi, '00:00:00.000', '09:15:00.000') / 60.0 as dd

它的输出为你提供了你所看到的东西(尽管有一个奇怪的欧洲小数点):

+---+----------+
|   | dd       |
+---+----------+
| 1 | 9,250000 |
+---+----------+

要将其作为文字,您可以使用转化:

select convert(varchar, convert(decimal(10,2), datediff(mi, '00:00:00.000', '09:15:00.000') / 60.0)) + ' hrs'

给出:

9.25 hrs