current_timestamp

返回当前事务开始时间的函数

current_timestamp 是一个系统函数,返回一个时间戳,表示当前事务开始的时间点。

current_timestampPostgreSQL 6.3 中添加。

用法

current_timestamp → timestamp with time zone

尽管名称如此,current_timestamp 返回当前事务开始的时间点,而不是函数执行的实际时间(为此,请参阅 clock_timestamp())。函数 transaction_timestamp()PostgreSQL 8.2 中添加,以提供一个明确的函数来检索当前事务的开始时间。

此函数的变体 current_timestamp() 用于以指定的精度检索事务时间戳

current_timestamp ( integer ) → timestamp with time zone

请注意,current_timestamp 不能作为 current_timestamp() 调用。

更改历史记录

示例

current_timestamp 的基本执行示例

postgres=# SELECT current_timestamp;
       current_timestamp       
-------------------------------
 2021-06-17 19:25:22.955989+01
(1 row)

current_timestamp 将始终报告与 transaction_timestamp() 相同的值,并且(如果在隐式事务中执行)与 statement_timestamp() 相同的值

postgres=# SELECT
              current_timestamp,
              transaction_timestamp(),
              statement_timestamp(),
              clock_timestamp()\gx
-[ RECORD 1 ]---------+------------------------------
current_timestamp     | 2021-06-17 19:26:40.599694+01
transaction_timestamp | 2021-06-17 19:26:40.599694+01
statement_timestamp   | 2021-06-17 19:26:40.599694+01
clock_timestamp       | 2021-06-17 19:26:40.600033+01

可以可选地指定精度(亚秒数字)。

postgres=# SELECT current_timestamp(3);
     current_timestamp      
----------------------------
 2021-06-17 20:07:24.741+01
(1 row)

指定的精度必须在 06 之间;较大的值将减少到 6

postgres=# SELECT current_timestamp(99);
WARNING:  TIMESTAMP(99) WITH TIME ZONE precision reduced to maximum allowed, 6
       current_timestamp       
-------------------------------
 2021-06-17 20:08:32.147416+01
(1 row)

变体 current_timestamp() 无效

postgres=# SELECT current_timestamp();
ERROR:  syntax error at or near ")"
LINE 1: SELECT current_timestamp();

分类

日期和时间系统函数

另请参阅

current_timecurrent_datetransaction_timestamp()now()clock_timestamp()localtimestamp

反馈

提交任何关于 "current_timestamp" 的评论、建议或更正 此处