📜  MySQL – 日期操作查询(1)

📅  最后修改于: 2023-12-03 15:33:02.415000             🧑  作者: Mango

MySQL – 日期操作查询

在MySQL中,对日期和时间的操作是非常常见的。在这篇文章中,我们将学习如何使用MySQL进行日期操作查询。下面是一些在MySQL中使用的日期和时间函数。

日期和时间函数
CURDATE()

CURDATE()函数返回当前日期。

SELECT CURDATE();

输出示例:

2022-05-12
NOW()

NOW()函数返回当前日期和时间。

SELECT NOW();

输出示例:

2022-05-12 16:22:09
DATE()

DATE()函数从日期时间表达式中提取日期部分。

SELECT DATE('2022-05-12 16:22:09');

输出示例:

2022-05-12
TIME()

TIME()函数从日期时间表达式中提取时间部分。

SELECT TIME('2022-05-12 16:22:09');

输出示例:

16:22:09
YEAR()

YEAR()函数从日期中提取年份部分。

SELECT YEAR('2022-05-12');

输出示例:

2022
MONTH()

MONTH()函数从日期中提取月份部分。

SELECT MONTH('2022-05-12');

输出示例:

5
DAY()

DAY()函数从日期中提取日期部分。

SELECT DAY('2022-05-12');

输出示例:

12
HOUR()

HOUR()函数从时间中提取小时部分。

SELECT HOUR('16:22:09');

输出示例:

16
MINUTE()

MINUTE()函数从时间中提取分钟部分。

SELECT MINUTE('16:22:09');

输出示例:

22
SECOND()

SECOND()函数从时间中提取秒部分。

SELECT SECOND('16:22:09');

输出示例:

9
日期计算

MySQL还允许我们执行日期计算操作。我们可以将日期和时间加减,以及比较它们的大小。

ADDDATE()

ADDDATE()函数返回一个日期加上指定天数后的日期。

SELECT ADDDATE('2022-05-12', INTERVAL 1 DAY);

输出示例:

2022-05-13
SUBDATE()

SUBDATE()函数返回一个日期减去指定天数后的日期。

SELECT SUBDATE('2022-05-12', INTERVAL 1 DAY);

输出示例:

2022-05-11
DATEDIFF()

DATEDIFF()函数返回两个日期之间的天数差。

SELECT DATEDIFF('2022-05-12', '2022-05-10');

输出示例:

2
DATE_ADD()

DATE_ADD()函数返回指定日期加上指定时间间隔后的日期。

SELECT DATE_ADD('2022-05-12 16:22:09', INTERVAL 1 HOUR);

输出示例:

2022-05-12 17:22:09
DATE_SUB()

DATE_SUB()函数返回指定日期减去指定时间间隔后的日期。

SELECT DATE_SUB('2022-05-12 16:22:09', INTERVAL 1 HOUR);

输出示例:

2022-05-12 15:22:09
日期格式化

MySQL可以将日期和时间格式化为我们希望的字符串格式。

DATE_FORMAT()

DATE_FORMAT()函数将给定的日期时间值格式化为表示日期或时间的字符串。

SELECT DATE_FORMAT('2022-05-12 16:22:09', '%Y-%m-%d %H:%i:%s');

输出示例:

2022-05-12 16:22:09

可以使用一些不同的格式字符串来显示日期和时间,例如:

  • %Y: 4位数的年份
  • %m: 2位数的月份
  • %d: 2位数的日期
  • %H: 24小时制的小时数
  • %i: 分钟数
  • %s: 秒数
总结

在这篇文章中,我们学习了MySQL中日期和时间函数的使用,以及日期计算和日期格式化。这些函数对于管理和操作日期和时间的数据非常有用。