PostgreSQL 教程: clock_timestamp 函数

十月 25, 2023

摘要:PostgreSQL 的clock_timestamp()函数,用于返回当前带时区的日期和时间,即函数执行时的时间。

clock_timestamp()是一个系统函数,它返回一个表示函数执行时间点的时间戳。

用法

clock_timestamp ()  timestamp with time zone

clock_timestamp()返回该函数执行时的当前时间和日期。与current_timestamp返回当前事务开始时的时间和日期不同,clock_timestamp()返回的值会随着函数的每次执行而改变。

示例

基本的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()的时间。

参考