我有3個字段A,B和C在名爲TBL的MS Access表中。我正在嘗試使用日期差異函數以小時爲單位查找日期差異。我想用下面的代碼最小內部日期差異
SELECT Datediff("h",Min(A,B),C) FROM TBL
上述功能給我用錯號碼與功能使用的參數錯誤找到最低場A,B和C.場之間的時間差我試圖去實現它查詢表達式。我怎樣才能實現上述
我有3個字段A,B和C在名爲TBL的MS Access表中。我正在嘗試使用日期差異函數以小時爲單位查找日期差異。我想用下面的代碼最小內部日期差異
SELECT Datediff("h",Min(A,B),C) FROM TBL
上述功能給我用錯號碼與功能使用的參數錯誤找到最低場A,B和C.場之間的時間差我試圖去實現它查詢表達式。我怎樣才能實現上述
您可以使用IIF
此:
SELECT IIF(DATEDIFF("h", A, C) < DATEDIFF("h", B, C),
DATEDIFF("h", A, C),
DATEDIFF("h", B, C))
FROM TBL
更新:
如果您想爲小時的那部分結果,你可以嘗試
DATEDIFF("m", A, C)/60.0
如果您希望找到絕對差異,您需要Abs:
SELECT
*,
IIf(Abs(DateDiff("h", A, C)) < Abs(DateDiff("h", B, C)),
Abs(DateDiff("h", A, C)), Abs(DateDiff("h", B, C))) As
HourDiffMin
FROM
TBL
如果 - 不是很清楚 - 如果還A和B之間的差異可能被退回,擴大國際金融研究所表達來彌補這一 - 頗有uggly:
SELECT
*,
IIf(Abs(DateDiff("h", A, B)) <
IIf(Abs(DateDiff("h", A, C)) < Abs(DateDiff("h", B, C)),
Abs(DateDiff("h", A, C)), Abs(DateDiff("h", B, C))),
Abs(DateDiff("h", A, B)),
IIf(Abs(DateDiff("h", A, C)) < Abs(DateDiff("h", B, C)),
Abs(DateDiff("h", A, C)), Abs(DateDiff("h", B, C)))) As
HourDiffMin
FROM
TBL
謝謝你的答案。你也可以告訴我,如果差異是30分鐘,我可以如何顯示0.5小時差。因爲截至目前爲止,少於1小時的任何事物都顯示爲0。 –