用于在日期之间选择数据的SQL查询不显示上次日期

时间:2014-04-30 15:13:56

标签: mysql

即时通讯使用查询来获取日期之间的数据,但由于某种原因,它不会提取此处所选最后日期的数据是我的查询:

SELECT * FROM order WHERE status = "completed" AND orderdate >= ? AND orderdate <= ? ORDER BY orderid DESC

我使用等于或小于......但仍然?

我做错了什么?

3 个答案:

答案 0 :(得分:1)

SELECT * FROM order WHERE status = "completed" AND date(orderdate) >= date(?) AND date(orderdate) <= date(?) ORDER BY orderid DESC

答案 1 :(得分:0)

它也发生在我身上,但在我的情况下,而不是传递date我使用datetime变量进行查询,请确保仅查询date变量。< / p>

确保orderdate date以及您的查询参数也是date,或者使用适当的函数在日期中转换它们而不是查询。

答案 2 :(得分:0)

你的日期实际上是日期时间 - 所以你实际上,在上限的情况下,说&#34; 12午夜&#34;在您选择的任何日期。因此,如果它试图在早上10点测试一个值,那么它就会超出范围而失败。

将上限日期设置为前一天,或明确仅测试日期时间的日期部分......