PostgreSQL current_timestamp() 函数使用指南
PostgreSQL current_timestamp()
函数返回当前的日期和时间(所属事务开始的时间)。
current_timestamp()
语法
这是 PostgreSQL current_timestamp()
函数的语法:
current_timestamp -> TIMESTAMP WITH TIME ZONE
或者
current_timestamp(precision) -> TIMESTAMP WITH TIME ZONE
参数
precision
- 必需的。 它是一个整数,指示了小数秒的位数。
返回值
PostgreSQL current_timestamp()
函数返回一个带有时区信息的日期和时间,它是该函数所属的事务开始的系统日期和时间。
也就是说同一个语句中的 current_timestamp()
函数返回值相同,这点与 clock_timestamp()
不同。
current_timestamp()
示例
本示例展示了如何使用 PostgreSQL current_timestamp()
函数获取当前的日期和时间。
SELECT current_timestamp;
current_timestamp
-------------------------------
2022-05-14 15:55:37.222601+03
或者使用如下语句来限制小数秒的位数:
SELECT
current_timestamp(0),
current_timestamp(1),
current_timestamp(2),
current_timestamp(3),
current_timestamp(4),
current_timestamp(5),
current_timestamp(6);
current_timestamp | 2022-05-14 15:57:26+03
current_timestamp | 2022-05-14 15:57:25.5+03
current_timestamp | 2022-05-14 15:57:25.52+03
current_timestamp | 2022-05-14 15:57:25.518+03
current_timestamp | 2022-05-14 15:57:25.5176+03
current_timestamp | 2022-05-14 15:57:25.51761+03
current_timestamp | 2022-05-14 15:57:25.517606+03
current_timestamp()
函数返回的是所属的事务开始的时间,而不是函数执行时刻的时间。请看下面的示例:
SELECT
current_timestamp,
pg_sleep(1),
current_timestamp;
-[ RECORD 1 ]-----+------------------------------
current_timestamp | 2022-05-14 15:59:08.628751+03
pg_sleep |
current_timestamp | 2022-05-14 15:59:08.628751+03
这里,即使我们在两个 current_timestamp
函数使用了 pg_sleep(1)
将执行暂停了 1 秒,两个 current_timestamp
函数返回的时间仍然是相同的。