PostgreSQL transaction_timestamp() 函数使用指南
PostgreSQL transaction_timestamp()
函数返回所属的事务开始时的系统日期和时间。
PostgreSQL transaction_timestamp()
函数等同于 now()
和 current_timestamp()
函数。
transaction_timestamp()
语法
这是 PostgreSQL transaction_timestamp()
函数的语法:
transaction_timestamp() -> timestamp
参数
PostgreSQL transaction_timestamp()
函数无需任何参数。
返回值
PostgreSQL transaction_timestamp()
函数返回一个带有时区信息的日期和时间,它是该函数所属的事务开始时的系统日期和时间。
也就是说同一个语句中的 transaction_timestamp()
函数返回值相同,这与 clock_timestamp()
不同。
transaction_timestamp()
示例
本示例展示了如何使用 PostgreSQL transaction_timestamp()
函数获取当前的日期和时间。
SELECT transaction_timestamp();
transaction_timestamp
-------------------------------
2022-05-15 22:17:34.819513+03
transaction_timestamp()
函数返回的是所属的事务开始的时间,而不是函数执行时刻的时间。请看下面的示例:
SELECT
transaction_timestamp(),
pg_sleep(1),
transaction_timestamp();
-[ RECORD 1 ]---------------------------
transaction_timestamp | 2022-05-15 22:18:31.076406+03
pg_sleep |
transaction_timestamp | 2022-05-15 22:18:31.076406+03
这里,即使我们在两个 transaction_timestamp()
函数使用了 pg_sleep(1)
将执行暂停了 1 秒,两个 transaction_timestamp()
函数返回的时间仍然是相同的。