clock_timestamp() 是一个系统函数,它返回一个表示函数执行时那一刻的时间戳。
clock_timestamp() 在 PostgreSQL 8.2 中被添加。
用法
clock_timestamp ( ) → timestamp with time zone
clock_timestamp() 返回函数执行时当前的日期和时间。与 current_timestamp(返回当前事务开始时的日期和时间)不同,clock_timestamp() 返回的值在每次函数执行时都会改变。
变更历史
- PostgreSQL 8.2
- 添加 (提交 e6004f01)
示例
clock_timestamp() 的基本执行示例
postgres=# SELECT clock_timestamp();
clock_timestamp
-------------------------------
2021-06-17 16:08:07.867682+01
(1 row)
在查询中,每次执行函数时,clock_timestamp() 返回的时间戳都会递增。
postgres=# SELECT
clock_timestamp(),
statement_timestamp(),
current_timestamp,
clock_timestamp()\gx
-[ RECORD 1 ]-------+------------------------------
clock_timestamp | 2021-06-17 16:12:37.167085+01
statement_timestamp | 2021-06-17 16:12:37.166871+01
current_timestamp | 2021-06-17 16:12:37.166871+01
clock_timestamp | 2021-06-17 16:12:37.167086+01
在上面的查询中,statement_timestamp() 和 current_timestamp 报告的值表示语句执行开始时的那一刻,因此报告的时间比第一次调用 clock_timestamp() 的时间要早。
