如何在SELECT中查找第一天?MySQL選擇年份和月份的第一天
我發現這對月 - 但我不太有把握足夠的一年: (我一直在尋找這樣一個單獨的查詢找到月初的和現在的數據)
WHERE (`DATE` between DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW())
如何在SELECT中查找第一天?MySQL選擇年份和月份的第一天
我發現這對月 - 但我不太有把握足夠的一年: (我一直在尋找這樣一個單獨的查詢找到月初的和現在的數據)
WHERE (`DATE` between DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW())
我想你需要:
WHERE (`DATE` between DATE_FORMAT(NOW() ,'%Y-01-01') AND NOW())
說實話,你可以這樣做:
WHERE (`DATE` between DATE_FORMAT(NOW() ,'%Y') AND NOW())
如果一個月以上的作品,那麼這將全年工作:
WHERE (`DATE` between DATE_FORMAT(NOW() ,'%Y-01-01') AND NOW())
好的,我覺得自己像個笨蛋。 *感嘆*謝謝。 –
要獲得本年度的第一天,我用:
SELECT MAKEDATE(year(now()),1);
因此,在您查詢,您可以這樣寫:
where `date` >= MAKEDATE(year(now()),1)
我相當普遍地做了類似過去整整兩年的銷售報告,但我總是想從頭開始一年的寧。因此顯示了2整年和迄今爲止的一年。
where date>= MAKEDATE(year(now()-interval 2 year),1)
但是爲了進一步複雜化,我們的財務年度從五月一號開始。我一直想在五月一號開始。
where date >= MAKEDATE(year(now()-interval 2 year),1) + interval 120 day
或作爲替代
where date >= MAKEDATE(year(now()-interval 2 year),121)
。五月是一個年度的第121天。但是這種方法在閏年中不起作用。
閏年證明的版本是:
where date => select MAKEDATE(year(now()-interval 5 year),1) + interval 4 month
這將永遠返回XXXX-05-01日期,無論是閏年。
SELECT MAKEDATE(year(now()),1);看起來比接受的答案更乾淨。 – donL
哈哈,哇。我爲什麼沒有看到。 –