MySQL 日期范围查询无效

MySQL Date range query not working

我有一个表单 table 具有以下结构

->id
->input_date
->form_num
->name
->address

我的 input_date 格式是数据类型 DATETIME,格式类似于

2015-12-29 12:45:08

我正在制作一个带有日期范围过滤器的报告模块,所以我的查询是:

SELECT * 
FROM golden_leaves.forms 
WHERE input_date >= '2015-02-01 00:00:35' AND input_date <= '2016-02-11 23:08:39' 
ORDER BY id DESC;

所以基本上我想得到 2 月 1 日到 2 月 11 日。但是当我查询它时,我从 12 月、1 月的数据也包括在内?还提取了从 2015 年 12 月开始的输入日期?我也试过了

WHERE input_date BETWEEN '2015-02-01 00:00:35' AND '2016-02-11 23:08:39' ORDER BY id DESC;

同样的事情。在我的 postgres 数据库中,这工作正常。

您的开始日期有错字 - 您查询的日期是 2015 年 2 月以来的日期,而不是 2016 年:

SELECT   * 
FROM     golden_leaves.forms 
WHERE    input_date >= '2016-02-01 00:00:35' AND 
         -- Here ----------^
         input_date <= '2016-02-11 23:08:39' 
ORDER BY id DESC;

你的第二次约会早于第一次约会(尝试颠倒日期顺序)

WHERE input_date BETWEEN '2016-02-11 23:08:39' AND '2015-02-01 00:00:35' ORDER BY id DESC;