MySQL日期函数是MySQL数据库中用于处理日期和时间数据的函数集。在数据库中,日期和时间数据是非常常见的数据类型,我们经常需要对其进行计算、格式化和比较等操作。MySQL提供了一系列的日期函数,可以方便地完成这些任务。

本文将介绍MySQL中一些常用的日期函数,并通过代码示例来说明它们的用法和功能。

1. 日期和时间类型

在介绍日期函数之前,我们先来了解一下MySQL中的日期和时间类型。MySQL提供了多种日期和时间类型,包括DATETIMEDATETIMETIMESTAMP等。

  • DATE类型用于存储日期,格式为YYYY-MM-DD
  • TIME类型用于存储时间,格式为HH:MM:SS
  • DATETIME类型用于存储日期和时间,格式为YYYY-MM-DD HH:MM:SS
  • TIMESTAMP类型也用于存储日期和时间,但它的范围更广,可以存储的时间范围从1970年到2038年。

在使用日期函数之前,我们需要先了解自己的数据中的日期和时间的存储格式,以便正确地使用日期函数进行操作。

2. 日期函数的使用

下面我们将介绍一些常用的日期函数及其用法。

2.1 NOW()

NOW()函数用于获取当前日期和时间。它不需要任何参数,直接调用即可返回当前的日期和时间。

SELECT NOW();

2.2 DATE()

DATE()函数用于提取日期部分。它接受一个日期或日期时间作为参数,并返回日期部分。

SELECT DATE('2022-01-01 10:20:30');

2.3 TIME()

TIME()函数用于提取时间部分。它接受一个日期或日期时间作为参数,并返回时间部分。

SELECT TIME('2022-01-01 10:20:30');

2.4 YEAR()

YEAR()函数用于提取年份部分。它接受一个日期或日期时间作为参数,并返回年份。

SELECT YEAR('2022-01-01');

2.5 MONTH()

MONTH()函数用于提取月份部分。它接受一个日期或日期时间作为参数,并返回月份。

SELECT MONTH('2022-01-01');

2.6 DAY()

DAY()函数用于提取天数部分。它接受一个日期或日期时间作为参数,并返回天数。

SELECT DAY('2022-01-01');

2.7 HOUR()

HOUR()函数用于提取小时部分。它接受一个日期或日期时间作为参数,并返回小时。

SELECT HOUR('2022-01-01 10:20:30');

2.8 MINUTE()

MINUTE()函数用于提取分钟部分。它接受一个日期或日期时间作为参数,并返回分钟。

SELECT MINUTE('2022-01-01 10:20:30');

2.9 SECOND()

SECOND()函数用于提取秒数部分。它接受一个日期或日期时间作为参数,并返回秒数。

SELECT SECOND('2022-01-01 10:20:30');

2.10 DATE_FORMAT()

DATE_FORMAT()函数用于将日期或日期时间格式化为指定的格式。它接受两个参数,第一个参数是要格式化的日期或日期时间,第二个参数是格式字符串。

SELECT DATE_FORMAT('2022-01-01', '%Y-%m-%d');

2.11 DATE_ADD()

DATE_ADD()函数用于对日期进行加法操作。它接受三个参数,第一个参数是要操作的日期,第二个参数是要添加的时间量,第三个参数是时间量的单位。

SELECT DATE_ADD('2022-01-01', INTERVAL 1 DAY);

2.12 DATE_SUB()

DATE_SUB()函数用于对日期进行减法操作。它接受三个参数,第一个参数是要操作的日期,第二个参数是要减去的时间量,第三个参数是时间量的单位。

SELECT DATE_SUB('2022-01-01',