MariaDB 日期和时间单位完整列表

在 MariaDB 中,您可以使用不同的单位表示时间,特别是时间段 INTERVAL。 比如 INTERVAL 1 HOUR 表示一小时。

列表

下表是可以在 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 年-月

复合单位

在所有的单位中,以下单位是复合单位:

  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

复合单位由两个或多个单位组合而成。比如: INTERVAL '1:2' YEAE_MONTH 代表一年两个月。

MariaDB 允许您使用任意分隔符分割不同的单位,比如以下都表示一年两个月:

  • INTERVAL '1:2' YEAR_MONTH
  • INTERVAL '1@2' YEAR_MONTH
  • INTERVAL '1#2' YEAR_MONTH

示例

INTERVAL

下面给出了一些表示时间段的示例:

  • INTERVAL 1 DAY 代表一天
  • INTERVAL 1 MONTH 代表一月
  • INTERVAL 1 YEAE 代表一年
  • INTERVAL 1:2 YEAE_MONTH 代表一年两个月
  • INTERVAL '1:20:30' HOUR_SECOND 代表 1 小时 20 分钟 30 秒

EXTRACT()

下面的语句使用 EXTRACT() 函数从 2001-02-03 04:05:06 提取年份:

SELECT EXTRACT(YEAR FROM '2001-02-03 04:05:06');

输出:

+------------------------------------------+
| EXTRACT(YEAR FROM '2001-02-03 04:05:06') |
+------------------------------------------+
|                                     2001 |
+------------------------------------------+

下面的语句使用 EXTRACT() 函数从 2001-02-03 04:05:06 提取时间:

SELECT EXTRACT(HOUR_SECOND FROM '2001-02-03 04:05:06');

输出:

+-------------------------------------------------+
| EXTRACT(HOUR_SECOND FROM '2001-02-03 04:05:06') |
+-------------------------------------------------+
|                                           40506 |
+-------------------------------------------------+

ADDDATE()

下面的语句是一个向日期时间值添加分钟的示例:

SELECT ADDDATE('2022-12-30 10:20:30', INTERVAL 20 MINUTE);

输出:

+----------------------------------------------------+
| ADDDATE('2022-12-30 10:20:30', INTERVAL 20 MINUTE) |
+----------------------------------------------------+
| 2022-12-30 10:40:30                                |
+----------------------------------------------------+

上面的语句您也可以直接使用加法运算符实现:

SELECT '2022-12-30 10:20:30' + INTERVAL 20 MINUTE;

输出:

+--------------------------------------------+
| '2022-12-30 10:20:30' + INTERVAL 20 MINUTE |
+--------------------------------------------+
| 2022-12-30 10:40:30                        |
+--------------------------------------------+

SUBDATE()

下面的语句是一个向日期时间值减去指定时间段的示例:

SELECT SUBDATE('2022-12-30 10:20:30', INTERVAL '5:10:20' HOUR_SECOND);

输出:

+----------------------------------------------------------------+
| SUBDATE('2022-12-30 10:20:30', INTERVAL '5:10:20' HOUR_SECOND) |
+----------------------------------------------------------------+
| 2022-12-30 05:10:10                                            |
+----------------------------------------------------------------+

上面的语句您也可以直接使用减法运算符实现:

SELECT  '2022-12-30 10:20:30' - INTERVAL '5:10:20' HOUR_SECOND;

输出:

+--------------------------------------------------------+
| '2022-12-30 10:20:30' - INTERVAL '5:10:20' HOUR_SECOND |
+--------------------------------------------------------+
| 2022-12-30 05:10:10                                    |
+--------------------------------------------------------+

函数

您可以在以下 MariaDB 函数中使用日期和时间单位: