MySQL 是一种关系型数据库管理系统,用于存储、管理和检索数据,MySQL 提供了许多强大的操作方法和函数,其中 INTERVAL 就是其中之一。 INTERVAL 关键字允许将时间值(如 DAY、HOUR、MINUTE、SECOND等)添加到或从日期或时间值中提取日期或时间值。在本文中,我们将介绍可以与 MySQL INTERVAL 关键字一起使用的不同单位值。
1. YEAR/YEAR_MONTH 间隔
1.1 YEAR
YEAR 是 INTERVAL 的一种单位值,表示年份间隔。例如,如果要获取当前日期之前一年的日期,可以使用以下 SQL 语句:
SELECT DATE_SUB(NOW(), INTERVAL 1 YEAR);
这里 NOW() 函数返回当前日期和时间的值,DATE_SUB() 函数对其进行处理,并返回去年的日期。如果要将年份间隔加入日期,则可以使用以下语句:
SELECT DATE_ADD('2020-01-01', INTERVAL 1 YEAR);
这将返回 2021 年 1 月 1 日。
1.2 YEAR_MONTH
YEAR_MONTH 是 INTERVAL 的另一种单位值,表示年和月份之间的间隔。例如,如果要获取当前日期之前一年零三个月的日期,可以使用以下 SQL 语句:
SELECT DATE_SUB(NOW(), INTERVAL '1-3' YEAR_MONTH);
这里 INTERVAL '1-3' YEAR_MONTH 表示一年零三个月的间隔。同样,如果要将年和月份间隔添加到日期中,则可以使用以下语句:
SELECT DATE_ADD('2020-01-01', INTERVAL '1-3' YEAR_MONTH);
这将返回 2021 年 4 月 1 日。
2. QUARTER 间隔
QUARTER 是 INTERVAL 的另一种单位值,表示季度间隔。每年有四个季度,每个季度包含三个月。例如,如果要获取当前日期之前两个季度的日期,可以使用以下 SQL 语句:
SELECT DATE_SUB(NOW(), INTERVAL 2 QUARTER);
这将返回六个月前的日期。同样,如果要将季度间隔添加到日期中,则可以使用以下语句:
SELECT DATE_ADD('2020-01-01', INTERVAL 1 QUARTER);
这将返回 2020 年第二季度的日期。
3. MONTH 间隔
MONTH 是 INTERVAL 的一种单位值,表示月份间隔。例如,如果要获取当前日期之前两个月的日期,可以使用以下 SQL 语句:
SELECT DATE_SUB(NOW(), INTERVAL 2 MONTH);
这将返回两个月前的日期。同样,如果要将月份间隔添加到日期中,则可以使用以下语句:
SELECT DATE_ADD('2020-01-01', INTERVAL 1 MONTH);
这将返回 2020 年 2 月 1 日的日期。
4. WEEK/WEEKDAY 间隔
4.1 WEEK
WEEK 是 INTERVAL 的一种单位值,表示周数间隔。例如,如果要获取当前日期之前两周的日期,可以使用以下 SQL 语句:
SELECT DATE_SUB(NOW(), INTERVAL 2 WEEK);
这将返回两周前的日期。同样,如果要将周数间隔添加到日期中,则可以使用以下语句:
SELECT DATE_ADD('2020-01-01', INTERVAL 1 WEEK);
这将返回 2020 年 1 月 8 日的日期。
4.2 WEEKDAY
WEEKDAY 是 INTERVAL 的另一种单位值,表示周中的天数间隔。例如,如果要获取当前日期之前两周零三天的日期,可以使用以下 SQL 语句:
SELECT DATE_SUB(NOW(), INTERVAL 17 DAY);
这里 INTERVAL 17 返回为 17 天的间隔。可以使用 WEEKDAY() 函数获取日期为星期几:
SELECT WEEKDAY('2020-01-01');
这将返回星期三,因为 2020 年 1 月 1 日是星期三。
5. DAY/HOUR/MINUTE/SECOND 间隔
这些是 INTERVAL 中最基本的单位值,分别表示天、小时、分钟和秒之间的间隔。例如,如果要获取当前日期之前两天的日期,可以使用以下 SQL 语句:
SELECT DATE_SUB(NOW(), INTERVAL 2 DAY);
这将返回两天前的日期。同样,如果要将天数间隔添加到日期中,则可以使用以下语句:
SELECT DATE_ADD('2020-01-01', INTERVAL 1 DAY);
这将返回 2020 年 1 月 2 日的日期。
类似的,可以使用 HOUR、MINUTE 和 SECOND 进行类似的间隔计算。
结论
INTERVAL 关键字允许将日期和时间间隔添加到 MySQL 中的日期值,并从它们中提取日期或时间值。在本文中,我们介绍了可以与 MySQL INTERVAL 关键字一起使用的不同单位值,包括 YEAR/YEAR_MONTH、QUARTER、MONTH、WEEK/WEEKDAY 和 DAY/HOUR/MINUTE/SECOND。熟练运用这些单位值,可以使我们更加方便地处理 MySQL 中的日期和时间值。