PostgreSQL timeofday() 函数使用指南

PostgreSQL timeofday() 函数返回一个表表示此函数执行时的时间戳的字符串。同一个语句中的两次执行 timeofday() 的返回值可能不同。

timeofday() 函数与 clock_timestamp() 函数很像,但是它返回是一个字符串,而 clock_timestamp() 返回的是时间戳值。

timeofday() 语法

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

timeofday() -> TEXT

参数

PostgreSQL timeofday() 函数没有任何参数。

返回值

PostgreSQL timeofday() 函数返回一个字符串,它表示此函数执行时的系统日期和时间,并带有时区信息。

timeofday() 示例

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

SELECT timeofday();
              timeofday
-------------------------------------
 Tue May 17 08:41:37.562608 2022 CST

在语句执行期间,同一个语句中的 timeofday() 函数返回的值可能是不同的,比如下面的例子:

SELECT
    timeofday(),
    pg_sleep(1),
    timeofday();
-[ RECORD 1 ]----------------------------------
timeofday | Tue May 17 08:42:03.575992 2022 CST
pg_sleep  |
timeofday | Tue May 17 08:42:04.580394 2022 CST

这里我们可以看到,后面的 timeofday() 的返回值比前面的返回值晚了一秒,这是因为 pg_sleep(1) 函数让执行暂停了 1 秒。