メインコンテンツまでスキップ

説明

NOW関数は現在のシステム日時を取得するために使用され、DATETIME型の値を返します。小数秒の精度を指定するオプションのパラメータをサポートし、返される結果のマイクロ秒桁数を調整します。

この関数はMySQLのnow functionと互換性があります。

エイリアス

  • current_timestamp()

構文

NOW([`<precision>`])

パラメータ

パラメータ説明
<precision>戻り値の小数秒部分の精度を示すオプションパラメータで、範囲は0から6です。デフォルトは0で、小数秒は返されません。<br/>JDK実装の制限により、ユーザーがJDK8でFEをビルドする場合、精度はミリ秒(小数点以下3桁)までしかサポートされず、より高い精度の桁はゼロで埋められます。より高い精度が必要な場合は、JDK11を使用してください。

戻り値

現在のシステム時刻を返し、型はDATETIMEです。

  • 指定された<precision>が範囲外の場合(例:負の値または6より大きい値)、関数はエラーを返します。

---Get current time
select NOW(),NOW(3),NOW(6);
+---------------------+-------------------------+----------------------------+
| now() | now(3) | now(6) |
+---------------------+-------------------------+----------------------------+
| 2025-01-23 11:08:35 | 2025-01-23 11:08:35.561 | 2025-01-23 11:08:35.562000 |
+---------------------+-------------------------+----------------------------+

--- Invalid precision (out of range, error)
SELECT NOW(7) AS result;
ERROR 1105 (HY000): errCode = 2, detailMessage = Invalid precision for NOW function. Precision must be between 0 and 6.

select NOW(-1);
ERROR 1105 (HY000): errCode = 2, detailMessage = Scale of Datetime/Time must between 0 and 6. Scale was set to: -1