从 MariaDB 日期时间值中减去几分钟

本文实现几个从 MariaDB 日期时间值中减去几分钟的示例。

发布于

如果您需要从一个 MariaDB 时间或者日期时间之中减去 1 分钟或几分钟,您可以使用以下几个函数:

  • SUBTIME()
  • ADDTIME()
  • SUBDATE()
  • ADDDATE()
  • DATE_SUB()
  • DATE_ADD()

或者,您也可以直接使用加减法运算符。

以下是几个实际的案例。

示例 1: SUBTIME()

SUBTIME() 用于从给定的时间或日期时间值中减去给定的时间量。下面的语句使用 SUBTIME() 函数从给定的日期时间值中减去 30 分钟:

SELECT SUBTIME('2021-12-12 12:00:00', '00:30:00');

输出:

+--------------------------------------------+
| SUBTIME('2021-12-12 12:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-12-12 11:30:00                        |
+--------------------------------------------+

示例 2: ADDTIME()

ADDTIME() 用于从给定的时间或日期时间值中加上给定的时间量。下面的语句使用 ADDTIME() 函数从给定的日期时间值中减去 30 分钟:

SELECT ADDTIME('2021-12-12 12:00:00', '-00:30:00');

输出:

+---------------------------------------------+
| ADDTIME('2021-12-12 12:00:00', '-00:30:00') |
+---------------------------------------------+
| 2021-12-12 11:30:00                         |
+---------------------------------------------+

示例 3: SUBDATE()

SUBDATE() 用于从给定的日期或日期时间值中减去给定的时间量。下面的语句使用 SUBDATE() 函数从给定的日期时间值中减去 30 分钟:

SELECT SUBDATE('2021-12-12 12:00:00', INTERVAL 30 MINUTE);

输出:

+----------------------------------------------------+
| SUBDATE('2021-12-12 12:00:00', INTERVAL 30 MINUTE) |
+----------------------------------------------------+
| 2021-12-12 11:30:00                                |
+----------------------------------------------------+

示例 4: ADDDATE()

ADDDATE() 用于从给定的日期或日期时间值中加上给定的时间量。下面的语句使用 ADDDATE() 函数从给定的日期时间值中减去 30 分钟:

SELECT ADDDATE('2021-12-12 12:00:00', INTERVAL -30 MINUTE);

输出:

+-----------------------------------------------------+
| ADDDATE('2021-12-12 12:00:00', INTERVAL -30 MINUTE) |
+-----------------------------------------------------+
| 2021-12-12 11:30:00                                 |
+-----------------------------------------------------+

在这个案例中,我们传入 INTERVAL -30 MINUTE 表示 30 分钟,它是个负数。

示例 5: DATE_SUB()

DATE_SUB() 用于从给定的日期或日期时间值中减去给定的时间量。下面的语句使用 DATE_SUB() 函数从给定的日期时间值中减去 30 分钟:

SELECT DATE_SUB('2021-12-12 12:00:00', INTERVAL 30 MINUTE);

输出:

+-----------------------------------------------------+
| DATE_SUB('2021-12-12 12:00:00', INTERVAL 30 MINUTE) |
+-----------------------------------------------------+
| 2021-12-12 11:30:00                                 |
+-----------------------------------------------------+

示例 6: DATE_ADD()

DATE_ADD() 用于从给定的日期或日期时间值中加上给定的时间量。下面的语句使用 DATE_ADD() 函数从给定的日期时间值中减去 30 分钟:

SELECT DATE_ADD('2021-12-12 12:00:00', INTERVAL -30 MINUTE);

输出:

+------------------------------------------------------+
| DATE_ADD('2021-12-12 12:00:00', INTERVAL -30 MINUTE) |
+------------------------------------------------------+
| 2021-12-12 11:30:00                                  |
+------------------------------------------------------+

在这个案例中,我们传入 INTERVAL -30 MINUTE 表示 30 分钟,它是个负数。

示例 7: 加减法运算符

MariaDB 允许您直接使用加减法运算符 - 对日期/日期时间进行计算。

下面的语句使用减法实现了 '2022-12-13 12:00:00' 减去 1 分钟:

SELECT '2022-12-13 12:00:00' - INTERVAL 1 MINUTE;

输出:

+-------------------------------------------+
| '2022-12-13 12:00:00' - INTERVAL 1 MINUTE |
+-------------------------------------------+
| 2022-12-13 11:59:00                       |
+-------------------------------------------+

当然,您也可以使用加法运算符。并且只需要将 INTERVAL 值改为负数。

下面的语句使用加法实现了 '2022-12-13 12:00:00' 减去 1 分钟:

SELECT '2022-12-13 12:00:00' + INTERVAL -1 MINUTE;

输出:

+--------------------------------------------+
| '2022-12-13 12:00:00' + INTERVAL -1 MINUTE |
+--------------------------------------------+
| 2022-12-13 11:59:00                        |
+--------------------------------------------+

结论

本文演示了几种用于从指定的时间或日期时间值减去指定分钟数的示例。