Перейти к содержимому
Последнее обновление

UTC_TIMESTAMP

Описание​

Функция UTC_TIMESTAMP возвращает текущие дату и время в часовом поясе UTC. Эта функция не зависит от локального часового пояса и всегда возвращает текущее время по UTC, обеспечивая согласованность времени при работе с разными часовыми поясами.

Поведение этой функции соответствует поведению функции utc_timestamp в MySQL.

Синтаксис​

UTC_TIMESTAMP([`<precision>`])

Параметры​

ПараметрОписание
<precision>Необязательная целочисленная константа в диапазоне [0, 9]. Значение по умолчанию — 0.

Возвращаемое значение​

Возвращает текущие дату и время по UTC.

При точности от 0 до 6 возвращает DATETIME(<precision>). При точности от 7 до 9 возвращает TIMESTAMP_NS, который отображается с девятью цифрами в дробной части. При использовании возвращённого результата в числовых операциях он преобразуется в целочисленный формат (формат YYYYMMDDHHmmss). В пределах одного оператора значение остаётся постоянным.

Если передано NULL или значение точности выходит за допустимые границы, возникает ошибка.

Примеры​

-- Current local time is UTC+8 2025-10-27 14:43:21
SELECT UTC_TIMESTAMP(), UTC_TIMESTAMP() + 0, UTC_TIMESTAMP(5), UTC_TIMESTAMP(5) + 0;
+---------------------+---------------------+---------------------------+----------------------+
| UTC_TIMESTAMP() | UTC_TIMESTAMP() + 0 | UTC_TIMESTAMP(5) | UTC_TIMESTAMP(5) + 0 |
+---------------------+---------------------+---------------------------+----------------------+
| 2025-10-27 06:43:21 | 20251027064321 | 2025-10-27 06:43:21.88177 | 20251027064321 |
+---------------------+---------------------+---------------------------+----------------------+
SELECT UTC_TIMESTAMP(10);
-- ERROR 1105 (HY000): errCode = 2, detailMessage = Precision of UTC_TIMESTAMP must be between 0 and 9. Precision was set to: 10

SELECT UTC_TIMESTAMP(NULL);
-- ERROR 1105 (HY000): errCode = 2, detailMessage = UTC_TIMESTAMP argument cannot be NULL.