問題:
MySQLデータベースの現在の日付と時刻を取得したい。
解決策:
現在の日付と時刻を取得するには、CURRENT_TIMESTAMPまたはNOW()の2つの関数のいずれかを使用します。
SELECT CURRENT_TIMESTAMP ;
クエリの結果は次のとおりです。
2019-08-15 11:13:17
ディスカッション:
CURRENT_TIMESTAMP
MySQLデータベースの関数は、現在の日付と時刻(つまり、MySQLのそのインスタンスを実行しているマシンの時刻)を返します。これは、「YYYY-MM-DD hh:mm:ss」形式の値として指定されます。
この関数はブラケットを必要としません。ただし、角かっこを使用して、より正確な時間を指定できます。角かっこ内に1から6までの整数を入れるだけです。これにより、小数の後に含める小数秒の数が決まります。 1は小数点以下1桁のみを示し、3は3桁などを示します。例を次に示します。
SELECT CURRENT_TIMESTAMP(6) ;
これにより、次のように6秒単位で日付と時刻が返されます。
2019-08-27 12:08:56.146153
CURRENT_TIMESTAMP関数のオプションの引数として6を指定したため、この結果には6桁の小数秒が含まれています。
NOW()関数は、CURRENT_TIMESTAMP
に似ています。 関数と同じ結果を返します。違いは、CURRENT_TIMESTAMP
はSQL標準関数ですが、NOW()はMySQLに固有です。 NOW()の例を見てみましょう:
SELECT NOW() ;
クエリの結果は次のとおりです。
2019-08-27 12:18:55
CURRENT_TIMESTAMPとは異なり、NOW()にはブラケットが必要です。角かっこは空のままにしておくことができます。これにより、秒の分数なしで日付と時刻が返されます。より正確な結果を取得したい場合は、オプションの引数として1〜6の整数を使用します(CURRENT_TIMESTAMPの場合と同様)。指定した秒数を返します。