MariaDB 日期和时间单位
以下是可以在MariaDB中使用的日期和时间单位的完整列表。
| 单位 | 描述 |
| MICROSECOND | 微秒 |
| SECOND | 秒 |
| MINUTE | 纪要 |
| HOUR | 小时 |
| DAY | 日 |
| WEEK | 星期 |
| MONTH | 月份 |
| QUARTER | 宿舍 |
| YEAR | 年 |
| SECOND_MICROSECOND | 秒.微秒 |
| MINUTE_MICROSECOND | 分钟.秒.微秒 |
| MINUTE_SECOND | 分钟.秒 |
| HOUR_MICROSECOND | 小时.分钟.秒.微秒 |
| HOUR_SECOND | 小时、分钟、秒 |
| HOUR_MINUTE | 小时.分钟 |
| DAY_MICROSECOND | 天 小时.分钟.秒.微秒 |
| DAY_SECOND | 天 小时.分钟.秒 |
| DAY_MINUTE | 天 小时.分钟 |
| DAY_HOUR | 天 小时 |
| YEAR_MONTH | 年-月 |
在对日期执行算术运算时,这些运算符可以与 and 运算符一起使用,具有 、、、、 和 等函数。+``-ADDDATE()SUBDATE()DATE_ADD()DATE_SUB()EXTRACT()TIMESTAMPADD()TIMESTAMPDIFF()
它们也可以在 和 函数的子句中使用。ON SCHEDULE``CREATE_EVENT()``ALTER_EVENT()
包含下划线的时间单位是复合单位。它们由多个基本时间单位组成。这些是一种一次性指定多个单位的速记方法。每个单元都可以用任何标点符号分隔。
例子
下面是向日期时间表达式添加小时的示例:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
输出:
+-----------------------------------------+
| '2021-05-31 10:00:00' + INTERVAL 1 HOUR |
+-----------------------------------------+
| 2021-05-31 11:00:00 |
+-----------------------------------------+在这个示例中,我们使用运算符来执行加法。+
日期时间函数
日期和时间单位可以与各种日期函数一起使用。
这是函数:DATE_ADD()
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
输出:
+--------------------------------------------------+
| DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-31 11:00:00 |
+--------------------------------------------------+复合单元
下面是使用复合单位的示例:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";
输出:
+---------------------+---------------------+---------------------+
| YEAR_MONTH | HOUR_SECOND | DAY_MINUTE |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 |
+---------------------+---------------------+---------------------+整数可以用任何标点字符分隔。因此,我们可以用句点替换冒号以获得相同的结果:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";
输出:
+---------------------+---------------------+---------------------+
| YEAR_MONTH | HOUR_SECOND | DAY_MINUTE |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 |
+---------------------+---------------------+---------------------+