MySQLの日付形式は非常に便利な機能です。引数で指定されたとおりに日付をフォーマットします。以下に示すフォーマット指定子のリストを使用して、日付をフォーマットできます。フォーマット指定文字の前に「%」が必要です。これがMySQLの日付フォーマット関数のチートシートです。
MySQLの日付形式の構文
DATE_FORMAT(日付、形式)
日付 –「YYYY-MM-DDHH:MM:SS」形式の日付文字列。これは、テーブルの日付列、上記の文字列、またはNOW()
フォーマット –「%x」形式の文字列。 xはフォーマット文字列のアルファベットです。
MySQL日付形式のチートシート–
フォーマット文字列 | 説明 |
---|---|
%a | 平日の略称(Sun..Sat) |
%b | 省略された月の名前(1月。12月) |
%ac | 月、数値(0..12) |
%D | 英語のサフィックスが付いた月の日(0日、1日、2日、3日、…) |
%d | 曜日、数値(00..31) |
%e | 曜日、数値(0..31) |
%f | マイクロ秒(000000..999999) |
%H | 時間(00..23) |
%h | 時間(01..12) |
%I | 時間(01..12) |
%i | 分、数値(00..59) |
%j | 年の日(001..366) |
%k | 時間(0..23) |
%l | 時間(1..12) |
%M | 月の名前(1月..12月) |
%m | 月、数値(00..12) |
%p | AMまたはPM |
%r | 時間、12時間(hh:mm:ssの後にAMまたはPMが続く) |
%S | 秒(00..59) |
%s | 秒(00..59) |
%T | 時間、24時間(hh:mm:ss) |
%U | 週(00..53)、ここで日曜日は週の最初の日です |
%u | 週(00..53)、月曜日が週の最初の日です |
%V | 週(01..53)、ここで日曜日は週の最初の日です。 %Xで使用 |
%v | 週(01..53)、月曜日は週の最初の日です。 %xで使用 |
%W | 平日の名前(日曜日..土曜日) |
%w | 曜日(0=日曜日..6=土曜日) |
%X | 日曜日が週の最初の日である週の年、数値、4桁。 %Vで使用 |
%x | 週の年。月曜日は週の最初の日で、数値は4桁です。 %vで使用 |
%Y | 年、数値、4桁 |
%y | 年、数値(2桁) |
%% | リテラルの「%」文字 |
例:
#using system function now() SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p'); #using a string SELECT DATE_FORMAT('2011-11-05 11:45:00','%b %d %Y %h:%i %p'); #using a date column CREATE TABLE TEST(DT DATETIME); INSERT INTO TEST(DT) VALUES('2010-10-05 10:45:00'); SELECT DATE_FORMAT(DT,'%b %d %Y %h:%i %p') from TEST;
結果:
Dec 04 2013 10:40 PM Nov 05 2013 11:45 PM Oct 05 2010 10:45 PM
ご覧のとおり、フォーマット文字列ではスペース、コンマ、またはハイフンを使用できます。 MySQLの日付フォーマット関数はそれらを結果に保持します。文字列の残りの部分は適切な形式に置き換えられます。使用できる一般的に使用される日付形式を次に示します。
#using system function now() SELECT DATE_FORMAT(NOW(),'%M %d, %Y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%Y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y %h:%i %p'); SELECT DATE_FORMAT(NOW(),'%M %d, %Y %h:%i %p');
彼らの結果