PostgreSQL clock_timestamp() 函数使用指南
PostgreSQL clock_timestamp()
函数返回此函数执行时的日期和时间。同一个语句中的两次执行 clock_timestamp()
的返回值可能不同。
clock_timestamp()
语法
这是 PostgreSQL clock_timestamp()
函数的语法:
clock_timestamp() -> timestamp
参数
PostgreSQL clock_timestamp()
函数没有任何参数。
返回值
PostgreSQL clock_timestamp()
函数返回一个带有时区信息的日期和时间,它是此函数执行时的系统日期和时间。
注意,clock_timestamp()
函数与 current_timestamp()
、transaction_timestamp()
和 now()
函数不同。 current_timestamp()
、transaction_timestamp()
和 now()
函数返回的是事务、函数、存储过程开始执行的时间。也就是,同一个语句中的所有的 current_timestamp()
和 now()
的返回值是相同的,而 clock_timestamp()
函数则可能不同。
clock_timestamp()
示例
本示例展示了如何使用 PostgreSQL clock_timestamp()
函数获取当前的日期和时间。
SELECT clock_timestamp();
clock_timestamp
-------------------------------
2022-05-14 15:31:41.835509+03
在语句执行期间,同一个语句中的 clock_timestamp()
函数返回的值可能是不同的,比如下面的例子:
SELECT
clock_timestamp(),
pg_sleep(1),
clock_timestamp();
-[ RECORD 1 ]---+------------------------------
clock_timestamp | 2022-05-14 15:37:40.019238+03
pg_sleep |
clock_timestamp | 2022-05-14 15:37:41.020112+03
这里我们可以看到,后面的 clock_timestamp()
的返回值比前面的返回值晚了一秒,这是因为 pg_sleep(1)
函数让执行暂停了 1 秒。