MySQL の日付関数と MySQL 時刻関数の比較的完全なコレクション
DATE_FORMAT(date,format)
フォーマット文字列に従って日付値をフォーマットします。フォーマット文字列では次の修飾子を使用できます: %M 月名 (1 月...12 月)
%W 週名 (日曜日...土曜日)
%D 英語の接頭辞が付いた月の日 (1 日、2 日、3 日) 、など)
%Y 年、数字、4 桁
%y 年、数字、2 桁
%a 週の略名 (日...土)
%d 月の日数、数字 (00 ...31)
%e 月の日数、数値 (0...31)
%m 月、数値 (01...12)
%c 月、数値 (1...12)
%b 月の省略名 (1 月...12 月)
%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 [AP]M)
%T 時間、24 時間 (hh:mm:ss)
%S 秒 (00...59)
%s 秒 (00...59)
%p AM または PM
%w 週の日数 (0=日曜日...6=土曜日)
%U 週 (0...52)、日曜日が週の最初の日
%u週 (0...52)、月曜日が週の最初の日です
%% テキスト「%」。
他のすべての文字は解釈されずに結果にコピーされます。
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y'); '1997 年 10 月土曜日'
mysql> 04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j'); '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00') ,
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
MySQL3.23 の形式% は修飾文字の前に必要です。 MySQL の以前のバージョンでは、% はオプションでした。
TIME_FORMAT(time,format)
これは上記の DATE_FORMAT() 関数と同様に使用されますが、フォーマット文字列には、時、分、秒を処理するフォーマット修飾子のみを含めることができます。
他の修飾子は NULL 値または 0 を生成します。
CURDATE()
CURRENT_DATE
関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、今日の日付値を「YYYY-MM-DD」または YYYYMMDD 形式で返します。
mysql>select CURDATE(); '1997-12-15'
CURTIME()
CURRENT_TIME
「HH:MM:SS」付き' または HHMMSS 形式を使用して、関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、現在の時刻値を返します。
mysql> select CURTIME(); '23:50:26'
NOW()
CURRENT_TIMESTAMP
付き'関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、現在の日付と時刻を YYYY-MM-DD HH:MM:SS' または YYYYMMDDHHMMSS 形式で返します。
mysql> select NOW(); '1997-12-15 23:50:26'
UNIX_TIM ESTAMP()
UNIX_TIMESTAMP(日付)
引数なしで呼び出された場合は、Unix タイムスタンプ (「1970-01-01 00:00:00」GMT からの秒数) を返します。 UNIX_TIMESTAMP() が日付パラメータを指定して呼び出された場合、「1970-01-01 00:00:00」GMT からの秒数が返されます。 date には、DATE 文字列、DATETIME 文字列、TIMESTAMP、または YYMMDD または YYYYMMDD 形式の現地時間の数値を指定できます。
mysql> select UNIX_TIMESTAMP();
->
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00'); X_TIMESTAMP は TIMESTAMP 列に使用されます。関数 http://www.knowsky.com/ は、暗黙的な「string-to-unix-timestamp」変換を行わずに、値を直接受け入れます。
FROM_UNIXTIME(unix_timestamp)
関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、unix_timestamp パラメーターで表される値を「YYYY-MM-DD HH:MM:SS」または YYYYMMDDHHMMSS 形式で返します。
mysql>select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
->select; 4222300
FROM_UNIXTIME(unix_timestamp,format)
フォーマット文字列に従ってフォーマットされた Unix タイムスタンプを表す文字列を返します。 format には、DATE_FORMAT() 関数によってリストされるエントリと同じ修飾子を含めることができます。
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
SEC_TO_TIME(秒)
関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、値は「HH:MM:SS」または HHMMSS でフォーマットされ、秒パラメーターを返します。
mysql> select SEC_TO_TIME(2378);
-> select SEC_TO_TIME(2378) + 0;時間パラメータ、に変換される秒。
mysql>select TIME_TO_SEC('22:23:00');
mysql>select TIME_TO_SEC('00:39:38');