MySQLコマンドやSQL文に関する各種メモ書き

MySQLで日付データをSELECT時に年・月・日に分解する【DATE_FORMAT】

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

関連エントリー

No.552
03/26 14:32

edit

日付