2016-09-30 92 views
0

使用Access 2010訪問SQL格式則DateDiff HH:NN:SS

我試圖把兩個日期時間條目的差異和格式顯示值「時(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]列設置爲「日期/時間」,格式爲「常規時間」

+0

「S」是第二個將在第二數量返回區別..而不是僅僅做減法正常和格式化日期結果.. vba.Format(#11 :00:10# - #23:00:00#,「hh:mm:ss」)= 11:59:50 –

回答

2

DATEDIFF返回一個數字比不能轉化爲「HH:□□:□□」爲不是約會。

相反:

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

注意,如果差異超過24小時,你會回來環繞至午夜。

+0

這很完美。用戶不會超過24小時,所以謝謝! – Sanya

1

您可以簡單地使用:

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