访问 SQL 格式 DateDiff hh:nn:ss

Access SQL format DateDiff hh:nn:ss

使用 Access 2010

我正在尝试获取两个日期时间条目的差异并以 "hour(s):minute(s):second(s)" 格式显示该值。我有以下 SQL 语句,但它总是生成:“00:00:00”。我做错了什么?

SELECT TOP 500 
    [ID], 
    [USERNAME], 
    [TIME_ENTER], 
    [TIME_EXIT], 
    FORMAT ( 
      DATEDIFF("s", [TIME_ENTER], [TIME_EXIT]),  "hh:nn:ss"
    )  AS HH_MM_SS
 FROM tbl_logs_sessions;

[TIME_ENTER][TIME_EXIT] 列设置为 "Date/Time",格式为 "General Date"

DATEDIFF returns 无法转换为 "hh:ss:ss" 的数字,因为它不是日期。

改为:

FORMAT(DATEADD("s", DATEDIFF("s", [TIME_ENTER], [TIME_EXIT]), #00:00:00#), "hh:nn:ss")

请注意,如果时差超过 24 小时,您将回到午夜。

您可以简单地使用:

FORMAT([TIME_EXIT] - [TIME_ENTER], "hh:nn:ss") AS HH_MM_SS