MySQL 当月のデータを取得する

MySQLで取得する時点での月(今月)のデータのみを取得する方法をご紹介いたします。

まず、その月の「月初」と「月末」の日付を取得し、その期間内かというのを条件として利用します。

 

 

月初、月末の取得

月初の取得

SELECT DATE_FORMAT(NOW(),'%Y-%m-01');

 

月末の取得

SELECT  LAST_DAY(NOW());

 

この情報があれば、簡単に取得できますよね?

 

 

取得してみよう

SELECT id FROM sample_table;

 

でデータが取得でき、created_dateカラムに日付データが入っているとします。

すると、取得方法は以下の通りです。

SELECT id FROM sample_table where created_date between date_format(now(), '%Y-%m-01') and last_day(now());

 

または、betweenを使わず

SELECT id FROM sample_table WHERE LAST_DAY(NOW()) >= created_date AND DATE_FORMAT(NOW(), '%Y-%m-01') <= created_date;

 

というような取得方法もできます。

 

追記

少し説明が下手ですが、WHERE句のみをコピーすれば、そのまま使用できます。

 

コメントを残す

CAPTCHA