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;

[実行結果]

MySQL で現在の日時を取得する 1


NOW() と SYSDATE() には、少し違いがあります。

NOW() はファンクションやトリガーを含め、ステートメントの実行を開始した日時を返すのに対して、SYSDATE() は実行された日時を返します。

NOW() と SYSDATE() の間に SLEEP() 関数を挟んで 5 秒後に現在時刻を取得してみます。

SELECT 	NOW(),
		SLEEP(5),
        NOW();

[実行結果]

MySQL で現在の日時を取得する 2

SELECT 	SYSDATE(),
		SLEEP(5),
        SYSDATE();

[実行結果]

MySQL で現在の日時を取得する 3

NOW() のほうは、同じ日時が返っていますが、SYSDATE() のほうは実行された 5 秒後の日時が返っていますね。


MySQL で現在の日付を取得する

MySQL で現在の日付を取得するには CURDATE() という組み込み関数を使って取得することができます。

現在の日付を 'YYYY-MM-DD' フォーマットの文字列として返します。

数値に変換されるような状況で使うと、現在の日付を YYYYMMDD フォーマットの数値として返します。

CURRENT_DATE や CURRENT_DATE() は CURDATE() のシノニムです。


SELECT 	CURDATE(),
		CURDATE() + 0;

[実行結果]

MySQL で現在の日時を取得する 4


MySQL で現在の時刻を取得する

MySQL で現在の時刻を取得するには CURTIME() という組み込み関数を使って取得することができます。

現在の時刻を 'hh:mm:ss' フォーマットの文字列として返します。

数値に変換されるような状況で使うと、現在の時刻を hhmmss フォーマットの数値として返します。

CURRENT_TIME や CURRENT_TIME() は CURTIME() のシノニムです。


SELECT 	CURTIME(),
		CURTIME() + 0;

[実行結果]

MySQL で現在の日時を取得する 5


以上、MySQL で現在の日時を取得する方法についてご説明しました。

© 2024 MySQL 入門