首页/数据/SQL 速查/CURDATE / CURTIME 取日期或时间部分
函数速查60 条

CURDATE / CURTIME 取日期或时间部分

只取当前日期或当前时间:MySQL 用 CURDATE()/CURTIME();PostgreSQL 用 CURRENT_DATE / LOCALTIME,注意日期加减写法的差异。

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

MySQL

MySQL
SELECT CURDATE(), CURTIME(), UTC_DATE();
-- 日期加减必须用 INTERVAL
SELECT CURDATE() - INTERVAL 1 DAY;   -- 昨天

PostgreSQL

PostgreSQL
SELECT CURRENT_DATE, LOCALTIME, CURRENT_TIME;
-- date 与整数直接运算
SELECT CURRENT_DATE - 1;             -- 昨天
SELECT CURRENT_DATE + 7;             -- 一周后
MySQLCURDATE()/CURRENT_DATE、CURTIME()/CURRENT_TIME、UTC_* 系列
PostgreSQLCURRENT_DATE、LOCALTIME(不带时区)、CURRENT_TIME(带时区)
加减MySQL 用 INTERVAL 语法;PG 的 date ± integer 直接得日期

易错点

  • MySQL 里写 CURDATE() + 1 会得到整数 20241013(把日期当数字加),必须写成 CURDATE() + INTERVAL 1 DAY
  • PostgreSQL 的 CURRENT_TIME 带时区,存进无时区列时按会话时区折算,跨时区服务留意

数据来源与参考

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