【发布时间】:2016-04-11 02:13:06
【问题描述】:
我需要计算时间之间的时钟位置(小时)数。
数据库有列 (Clock_At_From, Clock_To)
具有如下值:
10, 2
6, 9
我使用这个 sql 查询来获取两次之间的小时数。
SELECT DATEDIFF("h", "2005-05-05" + str(c.Clock_At_From) + ":00:00", "2005-05-05" + str(c.Clock_To) + ":00:00")
FROM [Conditions] as c
“2005-05-05”和“:00:00”只是一个占位符,我只关心小时数。
这种方法有效。但是当数字是:
10, 2
返回 -8
如果数字为负数,我需要一些东西,将值加 12。我该怎么做?
使用 MS-Access
【问题讨论】:
-
不需要DateDiff,用IIf判断第一个数是否大于第二个,然后加12。另外,如果输入的是1和2,怎么知道是不是那是凌晨 1 点到凌晨 2 点或凌晨 1 点到下午 2 点,反之亦然?
-
@Rabbit 它更多的是角度而不是时间。就像飞行员在 2 点钟说柏忌一样,他们指的是一个位置,而不是一天中的实际时间。