如何从MySQL表中选择过去到当前日期的数据?例如,选择2009年1月1日至今天的数据?我的"datetime"列是datetime类型。请帮助,谢谢。
编辑:
如果我要从2009年1月1日开始逐日获取数据,该如何编写查询语句?使用count和between函数吗?
编辑:
如果我要从2009年1月1日开始逐日获取数据,该如何编写查询语句?使用count和between函数吗?
select * from *table_name* where *datetime_column* between '01/01/2009' and curdate()
或者使用>=
和<=
:
select * from *table_name* where *datetime_column* >= '01/01/2009' and *datetime_column* <= curdate()
以上所有方法都有效,如果你仅想知道天数或时间差而不是输入日期,则还有另一种方法。
select * from *table_name* where *datetime_column* BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW()
您可以像这样使用 now()
:
Select data from tablename where datetime >= "01-01-2009 00:00:00" and datetime <= now();
curdate()
),请确保在结束日期上指定小时、分钟和秒 (2019-12-02 23:59:59
),否则您将无法从那一天获得任何结果,即:
将包括来自2019-12-02
的记录:
SELECT *SOMEFIELDS* FROM *YOURTABLE* where *YOURDATEFIELD* between '2019-12-01' and '2019-12-02 23:59:59'
这不会包括来自2019-12-02
的记录:
SELECT *SOMEFIELDS* FROM *YOURTABLE* where *YOURDATEFIELD* between '2019-12-01' and '2019-12-02'