とあるプログラマの備忘録

都内某所に住むプログラマが自分用に備忘録を残すという趣旨のブログです。はてなダイアリーから移動しました!

MySQLでunixtimestampをYYYYMM形式で取得する!

たとえば全部作成日時がunixtimestampで入っておるレコードがあって、それらを
2010年8月でグループ化したいときとあるのか?
こんな日が自分にやってくるとは思ってなかったw

でも来てしまったものはしょうがないのでやってみた。

・tableはテーブル名
・unixtimeにはunixtimestamp型ではいってます。

SELECT EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(unixtime)) as year_month
FROM  `table`
group by  year_month;

これでYYYYMMでグループ化されたレコードが取得できる。

                    • 2010年08月03日  追記

これでYYYYMMDDも簡単に取得可能だー(`μ´)ノシ
と思ってたんだけど、YEAR_MONTH_DAYってやったらマニュアルを確認してくださと丁寧にののしられた。

もしもYYYYMMDDで取得したい場合は以下のようにやるってかこれYYYYMMにもつかえたんじゃね?

SELECT FROM_UNIXTIME( created_at, '%Y%m%d' ) AS dateDayFROM `log_trade`