MariaDB SUBDATE() 函数的基础用法与实例

MariaDB SUBDATE() 函数用来从给定的日期减去指定的时间间隔。

发布于

MariaDB SUBDATE() 函数用来从给定的日期减去指定的时间间隔。它非常实用,可以用于计算过去某个时间点、计算某个操作或事件距今多久等场景。

语法

MairaDB SUBDATE() 函数的语法如下:

SUBDATE(date, INTERVAL expr type)
  • date: 需要执行运算的日期,可以是文本字符串或日期时间型字段。
  • INTERVAL expr type: 表示要减去的时间间隔,其中 expr 为一个整数值,type 为时间间隔类型,包括:
    • MICROSECOND
    • SECOND
    • MINUTE
    • HOUR
    • DAY
    • WEEK
    • MONTH
    • QUARTER
    • YEAR

该函数返回计算后的日期时间值。

实例

减去秒数

此示例展示了如何从给定日期中减去若干秒。

SELECT SUBDATE('2023-03-14 12:30:00', INTERVAL 30 SECOND);

以下是该语句的输出:

+----------------------------------------------------+
| SUBDATE('2023-03-14 12:30:00', INTERVAL 30 SECOND) |
+----------------------------------------------------+
| 2023-03-14 12:29:30                                |
+----------------------------------------------------+

减去分钟

此示例展示了如何从给定日期中减去若干分钟。

SELECT SUBDATE('2023-03-14 12:30:00', INTERVAL 25 MINUTE);

以下是该语句的输出:

+----------------------------------------------------+
| SUBDATE('2023-03-14 12:30:00', INTERVAL 25 MINUTE) |
+----------------------------------------------------+
| 2023-03-14 12:05:00                                |
+----------------------------------------------------+

减去小时

此示例展示了如何从给定日期中减去若干小时。

SELECT SUBDATE('2023-03-14 12:30:00', INTERVAL 5 HOUR);

以下是该语句的输出:

+-------------------------------------------------+
| SUBDATE('2023-03-14 12:30:00', INTERVAL 5 HOUR) |
+-------------------------------------------------+
| 2023-03-14 07:30:00                             |
+-------------------------------------------------+

减去天数

此示例展示了如何从给定日期中减去若干天。

DROP TABLE IF EXISTS orders;
CREATE TABLE orders (id INT, order_date DATE);
INSERT INTO orders VALUES (1, '2023-03-14'), (2, '2023-03-10'), (3, '2023-03-01');

SELECT id, order_date, SUBDATE(order_date, INTERVAL 3 DAY) AS sub_date
FROM orders;

以下是该语句的输出:

+------+------------+------------+
| id   | order_date | sub_date   |
+------+------------+------------+
|    1 | 2023-03-14 | 2023-03-11 |
|    2 | 2023-03-10 | 2023-03-07 |
|    3 | 2023-03-01 | 2023-02-26 |
+------+------------+------------+

减去月份

此示例展示了如何从给定日期中减去若干月份。

SELECT SUBDATE('2023-03-14', INTERVAL 3 MONTH);

以下是该语句的输出:

+-----------------------------------------+
| SUBDATE('2023-03-14', INTERVAL 3 MONTH) |
+-----------------------------------------+
| 2022-12-14                              |
+-----------------------------------------+

相关函数

以下是几个与 MairaDB SUBDATE() 相关的函数:

  • MariaDB DATE_SUB() 函数用来从日期减去时间间隔,功能与 SUBDATE() 相同。
  • MariaDB ADDDATE() 函数用来为日期添加时间间隔。
  • MariaDB DATE_ADD() 函数用来为日期添加时间间隔,功能与 ADDDATE() 相同。
  • MariaDB DATEDIFF() 函数用来计算两个日期之间相隔的天数。

结论

MariaDB SUBDATE() 函数是一个非常方便的日期时间操作函数,可以从给定日期中精确地减去指定的时间间隔。它与其他日期时间函数一起,为日期计算和操作提供了强大的支持,在开发过程中可以极大地简化相关的业务逻辑代码。