2

我正在尝试检索今天和本月剩余时间之间的数据。

select * from table where date between curdate() and endmonth();

我对 mysql 日期/时间的体验非常糟糕。

4

3 回答 3

2

我会用一个小技巧去DATE_FORMAT()

select * from table where date between curdate() and DATE_FORMAT(CURDATE(), '%Y-%m-31');

这样您就不必处理复杂的and year(...) = ... and month(.... 这很好,很容易写。

在此处阅读更多相关信息。

于 2013-06-11T13:07:16.623 回答
2

MySQL 有一个LAST_DAY函数可以返回过去一个月的最后一天。我会用那个:

SELECT * FROM table WHERE date BETWEEN CURDATE() AND LAST_DAY(CURDATE());
于 2013-06-11T13:10:45.600 回答
1
SELECT * FROM table WHERE date BETWEEN CURDATE() AND LAST_DAY(CURDATE());
于 2013-06-11T13:07:07.417 回答