MySQL提供了丰富的日期函数,用于对日期和时间进行处理。主要的日期时间函数包括:
- NOW():返回当前日期与时间
SELECT NOW()
2020-08-15 11:28:15
- CURDATE():返回当前日期
- CURTIME():返回当前时间
- DATE():返回日期部分
- YEAR():返回年部分
- MONTH(): 返回月部分
- DAY():返回日部分
- DATEDIFF():返回两个日期间的天数
- DATE_ADD():为日期添加指定的时间间隔
- DATE_FORMAT():将日期转换为其他格式
以下是使用 SQL 演示这些函数的使用方法:
CURDATE()
: 返回当前日期
sql
SELECT CURDATE();
CURTIME()
: 返回当前时间
sql
SELECT CURTIME();
DATE()
: 返回日期部分
sql
SELECT DATE('2023-07-01 12:30:45');
YEAR()
: 返回年部分
sql
SELECT YEAR('2023-07-01 12:30:45');
MONTH()
: 返回月部分
sql
SELECT MONTH('2023-07-01 12:30:45');
DAY()
: 返回日部分
sql
SELECT DAY('2023-07-01 12:30:45');
DATEDIFF()
: 返回两个日期间的天数
sql
SELECT DATEDIFF('2023-07-01', '2023-06-30');
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);
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
- 获取工作日
- 计算周数
- 获取星期几
- 格式化日期