SELECT時に日付カラム( 2007-01-23 12:30:59 )を年・月・日に分解して取得すると便利です。
SELECT DATE_FORMAT(CurDate(),'%Y') as year , DATE_FORMAT(CurDate(),'%m') as month , DATE_FORMAT(CurDate(),'%d') as day
DATE_FORMAT のオプション(指定子)は以下の通り 指定子 説明 %M 月の名前(January..December)。 %W 曜日名(Sunday..Saturday)。 %D 英語のサフィックス付きの日付(0th、1st、2nd、3rd など)。 %Y 4 桁の数値で表した年。 %y 2 桁の数値で表した年。 %X 日曜日を週の最初の日とした場合の週に使用する、4 桁の数値で表した年。%V と組み合わせて使用。 %x 月曜日を週の最初の日とした場合の週に使用する、4 桁の数値で表した年。%v と組み合わせて使用。 %a 略式の曜日名(Sun..Sat)。 %d 数値で表した日付(00..31)。 %e 数値で表した日付(0..31)。 %m 数値で表した月(00..12)。 %c 数値で表した月(0..12)。 %b 略式の月名(Jan..Dec)。 %j 年間を通した日にち(001..366)。 %H 時(00..23)。 %k 時(0..23)。 %h 時(01..12)。 %I 時(01..12)。 %l 時(1..12)。 %i 数値で表した分(00..59)。 %r 12 時間形式の時刻(hh:mm:ss に続けて AM または PM)。 %T 24 時間形式の時刻(hh:mm:ss)。 %S 秒(00..59)。 %s 秒(00..59)。 %f マイクロ秒(000000..999999)。 %p AM または PM %w 曜日(0=Sunday..6=Saturday)。 %U 日曜日を週の最初の日とした場合の週(00..53)。 %u 月曜日を週の最初の日とした場合の週(00..53)。 %V 日曜日を週の最初の日とした場合の週(01..53)。%X と組み合わせて使用。 %v 月曜日を週の最初の日とした場合の週(01..53)。%x と組み合わせて使用。 %% リテラルの ‘%’。 その他の文字はいずれも、解釈されずにそのまま結果にコピーされる。
参考:http://blog.tofu-kun.org/070620123532.php