我在其中一个表格中有两列:Arrival_Time
和Leaving_Time
。
两者都是时间字段,格式如下:HH:MM:SS
。
我想从Leaving_Time
中减去Arrival_Time
,例如:
到达时间:02:00:00
Leaving_time:02:45:00 = 45分钟。
我尝试了这个查询:
SELECT (Jobs.Leaving_time) - (Jobs.Arrival_Time) AS Time_Difference
FROM Technicians,Jobs, Tech_Allocation
WHERE Jobs.Job_ID=Tech_Allocation.Job_ID
AND Tech_Allocation.Technician_ID=Technicians.Technician_ID
ORDER BY (Jobs.Leaving_time) - (Jobs.Arrival_Time) ASC;
查询运行但减法的结果以小数显示,而不是我想要的分钟。
谢谢
答案 0 :(得分:3)
在Access中,您需要查看the DateDiff() function。
答案 1 :(得分:1)
由于您正在使用MS Access,我发现这个名为On time and how much has elapsed的MS Office讨论。请查看totalminutes = Int(CSng(interval * 1440))
之类的内容是否有意义。
答案 2 :(得分:1)
在您的问题中,您说您希望将持续时间显示为分钟。但是在评论中,您说您希望结果显示为小时:分钟:秒。
使用Format()函数将浮点值显示为Hour:Minutes:Seconds。
SELECT Format(j.Leaving_time - j.Arrival_Time, "hh:nn:ss") AS Time_Difference
FROM Technicians AS t, Jobs AS j, Tech_Allocation AS ta
WHERE j.Job_ID = ta.Job_ID
AND ta.Technician_ID = t.Technician_ID
ORDER BY 1 ASC;
请注意,此方法仅适用于少于24小时的Time_Differences。
编辑: