两个日期之间的时间差,以分钟和小时为单位,如SQL Server 2012中的1小时20分钟

时间:2015-11-03 11:18:13

标签: sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012

我需要计算两个日期之间的工作时间,即我正在使用名称作业的表格,在该表格中我将jobStartDate和JobCompleteDate作为日期时间字段,现在我需要在这两个日期之间获得持续时间,即

AS由J.D提及我的问题不重复 我验证了这个答案: SQL time difference between two dates result in hh:mm:ss

我的查询

SELECT DATEDIFF(HOUR,jobStartDate,JobCompleteDate) FROM tbl_Jobs

我的结果

1

预期输出

1:20 Hr

2 个答案:

答案 0 :(得分:4)

以下是一个例子:

DECLARE @sd DATETIME = '2015-11-03 10:45:35.747'
DECLARE @ed DATETIME = '2015-11-03 15:20:35.747'

SELECT CAST(DATEDIFF(ss, @sd, @ed) / 3600 AS VARCHAR(10)) + ':' +
       CAST((DATEDIFF(ss, @sd, @ed) -  3600 * (DATEDIFF(ss, @sd, @ed) / 3600)) / 60 AS VARCHAR(10)) + ' Hr'

输出:

4:35 Hr

答案 1 :(得分:1)

您可以使用CAST

Select CAST((@jobEndDate-@jobStartDate) as time(0)) '[hh:mm:ss]'