MySQL日期函数有哪些?

MySQL提供了丰富的日期函数,用于对日期和时间进行处理。主要的日期时间函数包括:

  1. NOW():返回当前日期与时间
SELECT NOW()
2020-08-15 11:28:15 
  1. CURDATE():返回当前日期
  2. CURTIME():返回当前时间
  3. DATE():返回日期部分
  4. YEAR():返回年部分
  5. MONTH(): 返回月部分
  6. DAY():返回日部分
  7. DATEDIFF():返回两个日期间的天数
  8. DATE_ADD():为日期添加指定的时间间隔
  9. DATE_FORMAT():将日期转换为其他格式

以下是使用 SQL 演示这些函数的使用方法:

  1. CURDATE(): 返回当前日期

sql

SELECT CURDATE();
  1. CURTIME(): 返回当前时间

sql

SELECT CURTIME();
  1. DATE(): 返回日期部分

sql

SELECT DATE('2023-07-01 12:30:45');
  1. YEAR(): 返回年部分

sql

SELECT YEAR('2023-07-01 12:30:45');
  1. MONTH(): 返回月部分

sql

SELECT MONTH('2023-07-01 12:30:45');
  1. DAY(): 返回日部分

sql

SELECT DAY('2023-07-01 12:30:45');
  1. DATEDIFF(): 返回两个日期间的天数

sql

SELECT DATEDIFF('2023-07-01', '2023-06-30');
  1. DATE_ADD(): 为日期添加指定的时间间隔

sql

SELECT DATE_ADD('2023-07-01', INTERVAL 1 DAY);
SELECT DATE_ADD('2023-07-01', INTERVAL 1 MONTH);
SELECT DATE_ADD('2023-07-01', INTERVAL 1 YEAR);
  1. DATE_FORMAT(): 将日期转换为其他格式

sql

SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y 年 %m 月 %d 日 %H 时 %i 分 %s 秒');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y 年 %m 月 %d 日');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y-%m-%d');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H:%i:%s');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H 时 %i 分 %s 秒');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H 时 %i 分');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H:%i');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m-%d-%Y');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m 月 %d 日');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m 月 %d 日 %Y');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m 月%d 日');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m 月%d');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m-%d');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m%d');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%m');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H:%i:%s %Y-%m-%d');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H:%i:%s %Y-%m-%d %Z');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H:%i:%s %Y-%m-%d %z');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%H:%i:%s %Y-%m-%d %Z%z');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y-%m-%d %H:%i:%s %Z');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y-%m-%d %H:%i:%s %z');
SELECT DATE_FORMAT('2023-07-01 12:30:45', '%Y-%m-%d %H:%i:%s %Z%z');

这些示例演示了如何使用 CURDATE()CURTIME()DATE()YEAR()MONTH()DAY()DATEDIFF()DATE_ADD(), 和 DATE_FORMAT() 函数来操作日期和时间。你可以根据自己的需求修改这些示例并在 SQL 中运行它们。

使用方式:
在SELECT语句中调用函数,并指定要调用函数的字段。
示例:

SELECT DATE('2005-12-23') 
SELECT YEAR('2005-12-23')
SELECT DATE_ADD('2005-12-31 23:59:59',INTERVAL 1 SECOND)

常见用法:

  • 计算日期 difference
  • 获取工作日
  • 计算周数
  • 获取星期几
  • 格式化日期