首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问日期筛选器

访问日期筛选器
EN

Stack Overflow用户
提问于 2017-02-26 12:39:33
回答 2查看 39关注 0票数 0

我有一张表,上面列有收到的订单。

我正在做一份报告,看看在D日之前收到多少订单.例如,我想看到:

代码语言:javascript
复制
D Day-5 days: 8 orders received in total 
D Day-4 days: 12 orders received in total 
D Day-3 days: 20 orders received in total 
D Day-2 days: 33 orders received in total 
D Day-1 days: 55 orders received in total 

这是我使用的查询:

代码语言:javascript
复制
SELECT * FROM recipients 
WHERE  
orderDate > #01/01/2017# 
AND orderDate < #10/02/2017#   -- (Where 10/2/17 is already X days prior to D Day)

但是这个查询正在运行,给了我到目前为止收到的所有订单(即26/2/2017)。

正确的答案应该是零(没有在2月10日之前收到订单),而是--它给我显示了200多条记录,我可以看到orderDate字段在2月10日之后。

感谢你的投入!

EN

回答 2

Stack Overflow用户

发布于 2017-02-26 15:21:12

Access SQL并不期望使用dd/mm/yyyy格式,而是使用mm/dd/yyyy或yyyy/mm/dd格式来表示日期值(它本身不带格式)。因此,2017年10月10日改为2017年10月10日至10月2日。

所以:

代码语言:javascript
复制
SELECT * FROM recipients 
WHERE  
orderDate > #01/01/2017# 
AND orderDate < #02/10/2017#

或者,泛型方法,因为您很少有固定的日期值:

代码语言:javascript
复制
PARAMETERS DateFrom DateTime, DateTo DateTime;
SELECT * FROM recipients 
WHERE  
orderDate > DateFrom AND orderDate < DateTo
票数 1
EN

Stack Overflow用户

发布于 2017-02-26 13:58:04

我使用了Format1函数,它似乎解决了这个问题:

代码语言:javascript
复制
SELECT * FROM recipients 
WHERE  
orderDate > Format (#01/01/2017#,'dd/mm/yyyy')
AND orderDate < Format (#10/02/2017#,'dd/mm/yyyy')

虽然我仍然不完全理解我最初的问题出了什么问题。我想是日期格式问题: dd/mm或mm/dd

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42468604

复制
相关文章

相似问题

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