计算时差访问查询

时间:2017-09-25 16:21:59

标签: sql ms-access

我正在尝试使用查询来获得时间差异。有关信息,请参阅附加屏幕截图。我试图通过提取" MapOriginalStart"来找出差异。来自"时间"。它们都被格式化为"短时间" enter image description here

2 个答案:

答案 0 :(得分:0)

Erik是对的。你在寻找的是:

TimeDiff: [MapOriginalStart] - [Time]

结果是日期值。格式为h:nn,将其显示为小时和分钟:

TimeDiffText: Format([MapOriginalStart] - [Time], "h\.nn")

对于十进制小时计数,您可以使用:

Hours: DateDiff("s", [MapOriginalStart], [Time]) / 3600

答案 1 :(得分:0)

两个简单的任务:

PM到AM转换:

IIF([MapOriginalStart] > #12:00:00 PM#, [MapOriginalStart] - #12:00:00 PM#, [MapOriginalStart])
IIF([Time] > #12:00:00 PM#, [Time] - #12:00:00 PM#, [Time])

时间减法:

(请注意@Christoph引用的DateDiff确实存在,但您可以轻松使用减法运算符-

CDate(Abs([Time] - [MapOriginalStart]))

请注意,您可能会遇到麻烦,因为您可能无法正确理解Access中的时间。在Access中,上午12:51等于00:51 AM。这是一个事实,如果你预计它会超过10:00,你会收到不正确的结果