Only the Chinese version of this page is provided currently. The English version will be provided soon.

CURRENT_GLOBAL_TIMESTAMP

Last updated: 2026-02-05 16:44:11

声明

CURRENT_GLOBAL_TIMESTAMP()

说明

CURRENT_GLOBAL_TIMESTAMP 函数返回数据库服务器的全局事务时间戳。在分布式数据库环境中,该函数确保所有节点返回统一的时间值,避免因节点时间不同步导致的时间不一致问题。
该函数与 NOW()函数的主要区别在于:
NOW()返回当前连接的本地时间,即 SQL 节点的机器时间。
CURRENT_GLOBAL_TIMESTAMP()返回全局事务时间戳,是集群授时的 GTS 混合逻辑时钟。混合逻辑时钟右移24位(>>24)得到 Unix timestamp,可以进一步得到 GTS 对应的物理时间。

示例

基本用法
tdsql> SELECT CURRENT_GLOBAL_TIMESTAMP();
+----------------------------+
| CURRENT_GLOBAL_TIMESTAMP() |
+----------------------------+
| 29647834336722979 |
+----------------------------+
1 row in set (0.01 sec)
在数据插入中使用
INSERT INTO transaction_log (id, amount, create_time)
VALUES (1001, 500.00, CURRENT_GLOBAL_TIMESTAMP());
格式化输出
tdsql> SELECT FROM_UNIXTIME(CURRENT_GLOBAL_TIMESTAMP() >> 24) AS formatted_time;
+---------------------+
| formatted_time |
+---------------------+
| 2025-12-31 10:37:42 |
+---------------------+
1 row in set (0.00 sec)