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)