SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【MySQL】月初、月末の計算方法

問題

MySQLでの日付計算で、月初や月末を出すのはどうやったらよいですか。

mysql

答え

CURDATE() は、日付型カラムなどに置き換えてお使いください。

-- 当月月初
SELECT DATE_FORMAT(CURDATE(), '%Y-%m-01');

-- 当月月末
SELECT LAST_DAY(CURDATE());
-- 前月月初
SELECT DATE_FORMAT(ADDDATE(CURDATE(), INTERVAL -1 MONTH), '%Y-%m-01');

-- 前月月末
SELECT LAST_DAY(ADDDATE(CURDATE(), INTERVAL -1 MONTH));
-- 次月月初
SELECT DATE_FORMAT(ADDDATE(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01');

-- 次月月末
SELECT LAST_DAY(ADDDATE(CURDATE(), INTERVAL 1 MONTH));

LAST_DAY があるなら、FIRST_DAY もあればいいのに…
DATE_FOMRAT で統一するなら、月末に置き換えてくれる書式があればいいのに…
とちょっと思う。

関連するメモ

コメント