我如何在当月发现上个月的记录。
离。
12-11-2015
12-12-2015
12-1-2016
12-2-2016
我写了这样的查询:
select * from tbl where MONTH(date) < MONTH(CURDATE());
它只显示12-1-2016的一条记录。但我想要除了最后一项记录12-2-2016之外的所有记录。
我认为不同年份的问题。
答案 0 :(得分:1)
试试这个:
SELECT *
FROM tbl
WHERE (MONTH(date) < MONTH(CURDATE()) AND YEAR(date) = YEAR(CURDATE()))
OR
YEAR(date) < YEAR(CURDATE())
上述查询中使用的谓词基本上说:如果两个日期都在同一年,那么你可以比较月份,否则你只需要比较年份值。
答案 1 :(得分:0)
select * from tbl where MONTH(date) < MONTH(CURDATE()) OR YEAR(date) < YEAR(CURDATE());