MySQLで月、年単位で値を抽出する方法

年月のある単位で値を抽出するにはDATA_FORMAT関数で値を加工して、WHEREで引っ掛ければいい。

DATA_FORMAT関数

DATE_FORMAT関数は帰ってくる日付のフォーマットを色々変更することが出来る。詳細は以下のURLを参照のこと。

年で抽出

↓は2008年に作成された値を抽出する場合の例。

SELECT * FROM table_name WHERE DATE_FORMAT(make_date, '%Y')=2008;
月で抽出

↓は2008年10月に作成された値を抽出する場合の例。

SELECT * FROM table_name WHERE DATE_FORMAT(make_date, '%Y%m')=200810;
総評

DATE_FORMAT関数を使用すればまだまだ色々なことが出来る。気が向いたときにもうちょっと書こうかなぁ。