首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从过去一小时中选择数据,MS Access

从过去一小时中选择数据,MS Access
EN

Stack Overflow用户
提问于 2011-07-25 22:58:24
回答 3查看 2.7K关注 0票数 3

我正在做一些数据传输,将数据从一个数据库移动到另一个数据库,我想在不使用运行这个数据传输程序的计算机上的太多内存的情况下这样做。目前该程序每分钟运行一次,但我想将其更改为每小时获取一次数据。最终,我想要更改以下查询,以便我不只获取最大值,而是获取过去一小时的数据:

代码语言:javascript
复制
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:00AM,我的程序现在正在运行,它将返回从上午09:51:00到现在的数据,同样在11:51:00AM,返回从10:51:00到11:51:00的数据我对Access不是很熟悉,但我对查询很有能力。这让我迷失了方向。有人能帮助理解如何做到这一点吗?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-25 23:42:02

由于1天= 1,因此1小时= 1/24。所以-just很有趣--你甚至可以这样表达你的情况:

代码语言:javascript
复制
WHERE Data.[Date / Time] >= (Now()-1/24)
票数 2
EN

Stack Overflow用户

发布于 2011-07-25 23:23:22

如果Data.Date / Time的数据类型是Date/Time,则在基于日期的比较中使用这些值时不需要应用Format()。

代码语言:javascript
复制
WHERE Data.[Date / Time] >= DateAdd("h",-1, Now())

这种方法可能比对表的每一行使用Format()快得多,特别是在日期/时间字段被索引的情况下。

我不知道你说这句话是什么意思:

同样,在上午11:51:00时,返回大于10:51:00到上午11:51:00的数据。

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

代码语言:javascript
复制
WHERE Data.[Date / Time] >= DateAdd("h",-1, Now()) AND Data.[Date / Time] < Now()
票数 2
EN

Stack Overflow用户

发布于 2011-07-25 23:12:13

代码语言:javascript
复制
WHERE Format(Data.[Date / Time], 'mm/dd/yyyy hh:nn:ss') >= DateAdd("h",-2, Now())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6818071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档