Skip to content

PostgreSQL statement_timestamp() 函数 ​

PostgreSQL statement_timestamp() 函数返回所在的语句开始执行时的时间戳。

statement_timestamp() 语法 ​

这是 PostgreSQL statement_timestamp() 函数的语法:

sql
statement_timestamp() -> timestamp

参数 ​

PostgreSQL statement_timestamp() 函数无需任何参数。

返回值 ​

PostgreSQL statement_timestamp() 函数返回一个带有时区信息的日期和时间,它是该函数所在的语句开始执行时的系统日期和时间。

也就是说同一个语句中的 statement_timestamp() 函数返回值相同,这与 clock_timestamp() 不同。

statement_timestamp() 示例 ​

本示例展示了如何使用 PostgreSQL statement_timestamp() 函数获取当前的日期和时间。

sql
SELECT statement_timestamp();
sql
     statement_timestamp
-------------------------------
 2022-05-15 22:17:34.819513+03

statement_timestamp() 函数返回的是所在的语句开始执行的时间,而不是函数执行时刻的时间。请看下面的示例:

sql
SELECT
    statement_timestamp(),
    pg_sleep(1),
    statement_timestamp();
sql
-[ RECORD 1 ]---------------------------
statement_timestamp      | 2022-05-15 22:18:31.076406+03
pg_sleep |
statement_timestamp      | 2022-05-15 22:18:31.076406+03

这里,即使我们在两个 statement_timestamp() 函数使用了 pg_sleep(1) 将执行暂停了 1 秒,两个 statement_timestamp() 函数返回的时间仍然是相同的。