教程 mariadb tutorial

日期函数

1. 获取当前日期和时间

  • NOW() 返回当前的日期和时间(精确到秒)。
  • CURDATE() 返回当前日期(不含时间)。
  • CURTIME() 返回当前时间。
sql
SELECT NOW(), CURDATE(), CURTIME();

`

2. 日期格式化

  • DATE_FORMAT(date, format) 按指定格式输出日期。
sql
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

常用格式:

  • %Y 年(四位)
  • %m 月(两位)
  • %d 日(两位)
  • %H 小时(24小时制)
  • %i 分钟
  • %s 秒

3. 日期加减

  • DATE_ADD(date, INTERVAL expr unit) 日期加上指定时间间隔。
  • DATE_SUB(date, INTERVAL expr unit) 日期减去指定时间间隔。
sql
SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);
SELECT DATE_SUB(CURDATE(), INTERVAL 1 MONTH);

单位示例:SECOND, MINUTE, HOUR, DAY, MONTH, YEAR 等。

4. 提取日期部分

  • YEAR(date) 返回年份。
  • MONTH(date) 返回月份。
  • DAY(date) 返回日。
  • HOUR(time) 返回小时。
  • MINUTE(time) 返回分钟。
  • SECOND(time) 返回秒。
sql
SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());

5. 计算日期差

  • DATEDIFF(date1, date2) 返回两个日期之间的天数差。
sql
SELECT DATEDIFF('2025-05-19', '2025-01-01');

掌握日期函数,有助于灵活处理时间相关的业务需求。