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

日付