Последнее обновление
NOW
Описание
Функция NOW возвращает текущие системные дату и время. Она поддерживает необязательный параметр, задающий точность дробной части секунды от 0 до 9.
Эта функция работает так же, как функция now в MySQL.
Псевдоним
- current_timestamp()
Синтаксис
NOW([`<precision>`])
Параметры
| Параметр | Описание |
|---|---|
<precision> | Необязательная целочисленная константа в диапазоне [0, 9]. Значение по умолчанию: 0. При значениях от 0 до 6 возвращается DATETIME(p) с соответствующей точностью; при значениях от 7 до 9 возвращается TIMESTAMP_NS. Фактическое разрешение часов зависит от операционной системы и JDK, поэтому недоступные младшие разряды заполняются нулями. |
Возвращаемое значение
Возвращает текущее системное время. При значении <precision> от 0 до 6 возвращается значение типа DATETIME(<precision>). При значении <precision> от 7 до 9 возвращается значение типа TIMESTAMP_NS, которое отображается с девятью цифрами в дробной части секунды. Значение остаётся постоянным в пределах одного оператора.
- Если
<precision>отрицательно или больше 9, функция возвращает ошибку.
Примеры
---Get current time
select NOW(), NOW(3), NOW(6), NOW(9);
+---------------------+-------------------------+----------------------------+-------------------------------+
| now() | now(3) | now(6) | now(9) |
+---------------------+-------------------------+----------------------------+-------------------------------+
| 2025-01-23 11:08:35 | 2025-01-23 11:08:35.561 | 2025-01-23 11:08:35.561000 | 2025-01-23 11:08:35.561000000 |
+---------------------+-------------------------+----------------------------+-------------------------------+
--- Invalid precision (out of range, error)
SELECT NOW(10) AS result;
ERROR 1105 (HY000): errCode = 2, detailMessage = Precision of NOW must be between 0 and 9. Precision was set to: 10
select NOW(-1);
ERROR 1105 (HY000): errCode = 2, detailMessage = Precision of NOW must be between 0 and 9. Precision was set to: -1