2

如何在 Access 表中减去两次?

查询必须自动完成。我需要在到达时减去剩余时间,这样我才能得到工作时间:

查询必须填写表中的小时列,所以我可以在 c# 程序中获取它。

[左]- [到达]

数据表视图中的表格图像

4

3 回答 3

4

在访问中,如果字段是日期/时间类型,则只需减去它们并根据需要格式化输出即可。减法的结果是天数和天数的分数。如果你想以小时为单位,只需乘以 24,即得到小时数和小时数的分数

SELECT cdbl([Left] - [Arrived]) * 24 as worked_hours FROM yourtable
于 2013-04-09T19:15:11.473 回答
1

日期差异

DateDiff ( 间隔, date1, date2, [firstdayofweek], [firstweekofyear])

http://www.techonthenet.com/access/functions/date/datediff.php

DateDiff ("h", [Arrived], [Left])

于 2013-04-09T19:03:50.117 回答
0

正如罗素所说,使用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 方法(按秒)更准确一些。

于 2013-04-09T19:56:18.603 回答