MySQL で現在の日時を取得する
ここでは MySQL で現在の日時を取得する方法についてご説明します。
MySQL で現在の日時を取得する
MySQL で現在の日時を取得するには NOW() や SYSDATE() という組み込み関数を使って取得することができます。
どちらも、現在の日時を 'YYYY-MM-DD hh:mm:ss' フォーマットの文字列として返します。
数値に変換されるような状況で使うと、現在の日時を YYYYMMDDhhmmss フォーマットの数値として返します。
CURRENT_TIMESTAMP や CURRENT_TIMESTAMP() は NOW() のシノニムです。
シノニム (synonym) とは、他のデータベースオブジェクトにつけた別名で、その別名を使って元のオブジェクトにアクセスすることができます。
SELECT NOW(),
SYSDATE(),
NOW() + 0,
SYSDATE() + 0;
[実行結果]
NOW() と SYSDATE() には、少し違いがあります。
NOW() はファンクションやトリガーを含め、ステートメントの実行を開始した日時を返すのに対して、SYSDATE() は実行された日時を返します。
NOW() と SYSDATE() の間に SLEEP() 関数を挟んで 5 秒後に現在時刻を取得してみます。
SELECT NOW(),
SLEEP(5),
NOW();
[実行結果]
SELECT SYSDATE(),
SLEEP(5),
SYSDATE();
[実行結果]
NOW() のほうは、同じ日時が返っていますが、SYSDATE() のほうは実行された 5 秒後の日時が返っていますね。
MySQL で現在の日付を取得する
MySQL で現在の日付を取得するには CURDATE() という組み込み関数を使って取得することができます。
現在の日付を 'YYYY-MM-DD' フォーマットの文字列として返します。
数値に変換されるような状況で使うと、現在の日付を YYYYMMDD フォーマットの数値として返します。
CURRENT_DATE や CURRENT_DATE() は CURDATE() のシノニムです。
SELECT CURDATE(),
CURDATE() + 0;
[実行結果]
MySQL で現在の時刻を取得する
MySQL で現在の時刻を取得するには CURTIME() という組み込み関数を使って取得することができます。
現在の時刻を 'hh:mm:ss' フォーマットの文字列として返します。
数値に変換されるような状況で使うと、現在の時刻を hhmmss フォーマットの数値として返します。
CURRENT_TIME や CURRENT_TIME() は CURTIME() のシノニムです。
SELECT CURTIME(),
CURTIME() + 0;
[実行結果]
以上、MySQL で現在の日時を取得する方法についてご説明しました。