now()
是一个返回当前事务时间戳的系统函数。
now()
在 PostgreSQL 6.1 中添加。
用法
now ( ) → timestamp with time zone
now()
等效于 transaction_timestamp()
和符合 SQL 标准的 current_timestamp
。
请注意,尽管名称如此,now()
返回的是当前事务启动时的点时间,而不是函数执行的实际时间。可以使用 clock_timestamp()
获取当前时间。
更改历史
- PostgreSQL 6.1
- 添加 (提交 071484c5)
示例
now()
的基本用法示例
postgres=# SELECT now(); now ------------------------------- 2023-06-28 19:04:29.844058+02 (1 row)
请注意,now()
返回的不是字面意义上的“现在”时间,而是当前事务的开始时间。
postgres=# BEGIN; BEGIN
postgres=*# SELECT now(), clock_timestamp(); now | clock_timestamp -------------------------------+------------------------------- 2023-06-28 19:07:21.116916+02 | 2023-06-28 19:07:29.973033+02 (1 row) postgres=*# SELECT pg_sleep(1); pg_sleep ---------- (1 row) postgres=*# SELECT now(), clock_timestamp(); now | clock_timestamp -------------------------------+------------------------------- 2023-06-28 19:07:21.116916+02 | 2023-06-28 19:07:35.082246+02 (1 row)