我有一个带有columnd orderDate
的访问表,这是一个日期/时间列。
我有以下查询,拒绝工作。我正在寻找从9月1日起收到的订单。
SELECT * FROM [tblInfo]
WHERE
Format(OrderDate,'d/m/yyyy') >= Format(#01/09/2017#,'d/m/yyyy')
哪个有效 - 但返回一个结果orderDate = 09/05/2017 18:07:58
显然不是我想要的 - 所以看起来格式仍然不正确。
使用 -
Format(OrderDate,'dd/mm/yyyy') >= Format(#01/09/2017#,'dd/mm/yyyy')
从2017年开始返回所有订单 - 这也是错误的。
有趣。 Web界面中的以下格式工作。但仍然不在Access查询界面中:
OrderDate >= Format(#01/09/2017#,'dd/mm/yyyy')
我有什么问题?
谢谢。 谢谢!
答案 0 :(得分:3)
在您想要比较日期时,您正在进行字符串比较。你最好只是比较日期,而不是先创建格式化的字符串。
SELECT * FROM [tblInfo]
WHERE
OrderDate >= DateSerial(2017, 09, 01)
另请注意:#01/09/2017#
实际上是2017年1月9日