跳到主要内容
最后 更新

UTC_TIMESTAMP

描述

UTC_TIMESTAMP 函数用于返回当前 UTC 时区在所的日期时间。该函数不受本地时区影响,始终返回基于 UTC 时区的当前时间,确保跨时区场景下的时间一致性.

该函数与 mysql 中的 utc_timestamp 函数 行为一致。

语法

UTC_TIMESTAMP([`<precision>`])

参数

参数描述
<precision>[0, 9] 范围内的可选整数常量,默认为 0。

返回值

返回当前 UTC 日期时间.

精度为 0 到 6 时返回 DATETIME(<precision>);精度为 7 到 9 时返回 TIMESTAMP_NS,并显示 9 位小数。使用返回结果进行数值运算时,会转换为整数格式(格式 YYYYMMDDHHmmss)。同一条语句中的返回值保持一致。

当输入为 NULL 或精度超出范围会报错。

举例

---当前地区时间为东八区 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.