如何在SQL中减去2个日期并得到HH:MI:SS

时间:2013-09-24 09:26:26

标签: sql-server-2005 ms-access

如何在SQL中减去2个日期并获得HH:MI:SS

(SQL Server 2005) 我使用MS Access来做到这一点。

示例:

23-09-2013 15:43:59

23-09-2013 15:43:33 -


通缉答案00:00:26

2 个答案:

答案 0 :(得分:0)

使用DateDiff,对于timepan格式使用字符串方法:

SELECT  Diff = 
       right('0'+ rtrim(CAST(DateDiff(hour, @dt2, @dt1)  AS VARCHAR(2))), 2) + ':' +
       right('0'+ rtrim(CAST(DateDiff(minute, @dt2, @dt1)AS VARCHAR(2))), 2) + ':' +
       right('0'+ rtrim(CAST(DateDiff(second, @dt2, @dt1)AS VARCHAR(2))), 2) 

Demo

答案 1 :(得分:0)

如果这两个日期在24小时范围内,您可以使用以下代码:

SELECT LEFT(CONVERT(VARCHAR, DATEADD(SECOND, DATEDIFF(SECOND, @Date2, @Date1), 0), 114), 8)

来源:How to convert Seconds to HH:MM:SS using T-SQL

如果您无法在Access程序中使用本机SQL查询,请查看这些链接(访问语法):

也许你可以在不使用CONVERT的情况下操纵结果字符串(在Access中不支持)。