如何從當月份發現上個月的記錄。如何查找上個月的記錄?
ex。
12-11-2015
12-12-2015
12-1-2016
12-2-2016
,我寫我的查詢是這樣的:
select * from tbl where MONTH(date) < MONTH(CURDATE());
這說明只有一條記錄2016年12月1日。但我想要除去最後一張唱片12-2-2016之外的所有唱片。
我覺得不同年份的問題。
如何從當月份發現上個月的記錄。如何查找上個月的記錄?
ex。
12-11-2015
12-12-2015
12-1-2016
12-2-2016
,我寫我的查詢是這樣的:
select * from tbl where MONTH(date) < MONTH(CURDATE());
這說明只有一條記錄2016年12月1日。但我想要除去最後一張唱片12-2-2016之外的所有唱片。
我覺得不同年份的問題。
試試這個:
SELECT *
FROM tbl
WHERE (MONTH(date) < MONTH(CURDATE()) AND YEAR(date) = YEAR(CURDATE()))
OR
YEAR(date) < YEAR(CURDATE())
在上面的查詢中使用的謂詞實質上說:如果這兩個日期都在同一年,那麼你就可以比較一個月,否則,你只能比較的年份。
select * from tbl where MONTH(date) < MONTH(CURDATE()) OR YEAR(date) < YEAR(CURDATE());
這是不正確的,我很害怕。想想這個日期''2017-01-01''。此日期的月份*小於*當前日期的月份*。然而這個日期是*過去*當前日期。 –
是的你是對的,我接近我的答案。 –
這是因爲11月份大於當前日期的月份。 – Wanderer
並且你在DB中以'12-11-2015'格式存儲日期? –