首页/数据/SQL 速查/NOW / CURRENT_TIMESTAMP 当前时间
本包目录(311 条)
查询基础33 条连接与子查询40 条聚合与窗口函数54 条
函数速查60 条
变更与事务52 条性能与执行计划72 条

NOW / CURRENT_TIMESTAMP 当前时间

取当前日期时间:MySQL NOW() 在语句执行时取值;PostgreSQL now() 等于事务开始时间,同一事务内多次调用结果相同。

SQL 速查数据更新于 2026-10-12

MySQL

MySQL
SELECT NOW(), CURRENT_TIMESTAMP, SYSDATE();
SELECT NOW(3);        -- 毫秒精度:2024-06-01 12:00:00.123

PostgreSQL

PostgreSQL
SELECT now(), statement_timestamp(), clock_timestamp();
-- now():事务开始时间(同一事务内恒定)
-- clock_timestamp():函数调用瞬间的真实时间
MySQLNOW()/CURRENT_TIMESTAMP 语句级;SYSDATE() 实际调用时刻
PostgreSQLnow()=transaction_timestamp();statement_timestamp() 语句级;clock_timestamp() 实时
时区显示值受会话时区影响,存储时区规则见各库文档

易错点

  • PostgreSQL 长事务里反复执行 INSERT ... now() 会插入完全相同的时间戳,需要逐行递增时间时用 clock_timestamp()
  • MySQL 的 SYSDATE() 不受语句开始时间影响且默认按行求值,与 NOW() 混用时结果可能不一致

数据来源与参考

  • MySQL 8.0 Reference Manual · Date and Time Functions
  • PostgreSQL Documentation · Date/Time Functions and Operators
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌