如何在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
答案 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)
答案 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中不支持)。