我正在尝试在今天和本月剩余时间之间检索数据。
select * from table where date between curdate() and endmonth();
我对mysql日期/时间的体验非常糟糕。
答案 0 :(得分:2)
我会用DATE_FORMAT()
select * from table where date between curdate() and DATE_FORMAT(CURDATE(), '%Y-%m-31');
这样您就不必处理复杂的and year(...) = ... and month(...
。这很好,也很容易写。
详细了解here。
答案 1 :(得分:2)
MySQL有一个LAST_DAY
function,它返回过去一个月的最后一天。我会用它:
SELECT * FROM table WHERE date BETWEEN CURDATE() AND LAST_DAY(CURDATE());
答案 2 :(得分:1)
SELECT * FROM table WHERE date BETWEEN CURDATE() AND LAST_DAY(CURDATE());