您的问题是日期的简短版本使用午夜作为默认设置。因此,您的查询实际上是:
SELECt users.* FROM users WHERe created_at >= '2011-12-01 00:00:00' AND created_at <= '2011-12-06 00:00:00'
这就是为什么您看不到10:45的记录的原因。
更改为:
SELECt users.* FROM users WHERe created_at >= '2011-12-01' AND created_at <= '2011-12-07'
您还可以使用:
SELECt users.* from users WHERe created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)它将以您要查找的相同时间间隔选择所有用户。
您可能还会发现BETWEEN运算符更具可读性:
SELECt users.* from users WHERe created_at BETWEEN('2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY));


