我正在努力进行一些数据传输将数据从一个数据库移动到另一个数据库,我想在我正在运行此数据传输程序的计算机上使用很多内存。目前,该程序每分钟运行,但是我想更改此程序,以便我每小时获取数据。最终,我想更改以下查询,以便我不仅抓住最有价值的问题,但我正在抓住过去一个小时的数据:

SELECT Data.[Date / Time],
       DATA.[Hot Strip Mill Total],
       Data.[Basic Oxygen Furnace Total],
       Data.[Electro-Arc Furnace Total],
       Data.[J-9 Shop Total],
       Data.[Levy Maintence Building Total],
       Data.[Ford Body Shop Total],
       Data.[Ford Chiller Building Total],
       Data.[Ford Dearborn W Plant Total],
       Data.[Ford Dearborn E Plant Total], 
       Data.[Ford Dearborn Balcony Total], 
       Data.[Ford Final Assembly Total],
       Data.[Ford Frame Plant Total], 
       Data.[Ford Dearborn N Plant Total],
       Data.[Ford Tool and Die Total], 
       Data.[Ford Paint Plant Total],
       Data.[Ford Glass Plant Total], 
       DATA.[Hot Strip Mill Rate], 
       Data.[Basic Oxygen Furnace Rate], 
       Data.[Electro-Arc Furnace Rate],
       Data.[J-9 Shop Rate],
       Data.[Levy Maintence Building Rate],
       Data.[Ford Body Shop Rate],
       Data.[Ford Chiller Building Rate],
       Data.[Ford Dearborn W Plant Rate],
       Data.[Ford Dearborn E Plant Rate],
       Data.[Ford Dearborn Balcony Rate],
       Data.[Ford Final Assembly Rate],
       Data.[Ford Frame Plant Rate],
       Data.[Ford Dearborn N Plant Rate],
       Data.[Ford Tool and Die Rate],
       Data.[Ford Paint Plant Rate],
       Data.[Ford Glass Plant Rate]
       FROM DATA  
       WHERE Format(Data.[Date / Time], 'mm/dd/yyyy hh:nn:ss') >=
           (select Format(max(Data.[Date / Time]),'mm/dd/yyyy hh:nn:ss') from Data);

如今,现在是上午10:51:00,我的程序现在正在运行,它将从大于09:51:00 AM返回数据,直到现在,同样在11:51:00 AM,从10:51:00返回数据直到上午11:51:00。我对访问不那么家庭,但我对查询的能力相当有能力。这个只是让我迷路了。谁能帮助理解这一点的方法?谢谢

有帮助吗?

解决方案

由于1天= 1,因此1小时= 1/24。所以 - 为了娱乐 - 您甚至可以表达自己的状况

WHERE Data.[Date / Time] >= (Now()-1/24)

其他提示

如果数据的数据类型。[日期 /时间]是日期 /时间,则在基于日期的比较中使用这些值时,不需要应用格式()。

WHERE Data.[Date / Time] >= DateAdd("h",-1, Now())

该方法比在表的每一行中使用格式()要快得多,尤其是在索引[日期 /时间]字段的情况下。

我不确定您对这句话的意思是什么:

"同样,在上午11:51:00,从大于10:51:00到11:51:00 AM返回数据。"

如果这意味着在上午11:51:00您的数据表可能包括[日期 /时间]值的行,则较晚于11:51:00 AM,您可以在Where子句中添加另一个条件以排除它们。

WHERE Data.[Date / Time] >= DateAdd("h",-1, Now()) AND Data.[Date / Time] < Now()
WHERE Format(Data.[Date / Time], 'mm/dd/yyyy hh:nn:ss') >= DateAdd("h",-2, Now())
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top