如何在Access表中减去两次?
查询必须自动执行。我需要在到达时减去剩余时间,然后我得到工作时间:
查询必须填写表格中的小时栏,因此我可以在c#程序中获取它。
[左] - [到达]
答案 0 :(得分:4)
在访问中,如果字段是日期/时间类型,则只需减去它们并根据需要格式化输出。减法导致天数和天数。如果你想要它在几个小时内,只需乘以24,这将给你,小时和小时的分数
SELECT cdbl([Left] - [Arrived]) * 24 as worked_hours FROM yourtable
答案 1 :(得分:1)
DateDiff的
DateDiff(interval,date1,date2,[firstdayofweek],[firstweekofyear])
http://www.techonthenet.com/access/functions/date/datediff.php
DateDiff(“h”,[Arrived],[Left])
答案 2 :(得分:0)
正如Russell所提到的,使用DateDiff
函数。我在测试MsAccess DB上进行了测试,但它确实有效。这是我的选择声明:
SELECT DateDiff('n',[Arrived],[Left])/60 AS Worked,
DateDiff('s',[Arrived],[Left])/3600 AS Worked2,
*
FROM Table1;
示例结果:
Worked Worked2 Left Arrived
1 0.999722222222222 4/9/2013 3:00:00 PM 4/9/2013 2:00:01 PM
0.833333333333333 0.833055555555556 4/9/2013 3:00:00 PM 4/9/2013 2:10:01 PM
1.66666666666667E-02 2.77777777777778E-04 4/9/2013 3:00:00 PM 4/9/2013 2:59:59 PM
24 23.9997222222222 4/9/2013 3:00:00 PM 4/8/2013 3:00:01 PM
正如您所看到的,Worked2方法(第二种方法)更准确。