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

MariaDB TIMESTAMPADD() 函数用来为一个日期/时间值加上指定的时间间隔。

发布于

MariaDB TIMESTAMPADD() 函数用来为一个日期/时间值加上指定的时间间隔。它可以用于在获取的日期基础上计算新的日期或时间。该函数在处理涉及日期和时间的问题时非常有用。

语法

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

TIMESTAMPADD(unit, interval, datetime_expr)
  • unit:指定需要增加的时间单位,可以是以下值:MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER 或者 YEAR。
  • interval:指定时间单位数值,必须是整数。
  • datetime_expr:需要增加的目标日期/时间值。

函数的返回值是另一个 DateTime 表达式,其值为在 datetime_expr 上加上 interval 后指定时间单位的结果。

实例

增加天数

以下实例展示了如何为一个日期增加几天:

SELECT TIMESTAMPADD(DAY, 5, '2023-03-01');

以下是该语句的输出:

+------------------------------------+
| TIMESTAMPADD(DAY, 5, '2023-03-01') |
+------------------------------------+
| 2023-03-06                         |
+------------------------------------+

该示例将日期 ‘2023-03-01’ 加上 5 天的结果。

增加月份

本示例展示了如何为一个日期增加几个月:

SELECT TIMESTAMPADD(MONTH, 3, '2023-05-15');

以下是该语句的输出:

+--------------------------------------+
| TIMESTAMPADD(MONTH, 3, '2023-05-15') |
+--------------------------------------+
| 2023-08-15                           |
+--------------------------------------+

该示例将日期 ‘2023-05-15’ 加上 3 个月的结果。

增加小时和分钟

本示例展示了如何同时为一个日期时间值增加小时和分钟:

SELECT TIMESTAMPADD(HOUR, 3, TIMESTAMPADD(MINUTE, 45, '2023-03-15 10:15:00'));

以下是该语句的输出:

+------------------------------------------------------------------------+
| TIMESTAMPADD(HOUR, 3, TIMESTAMPADD(MINUTE, 45, '2023-03-15 10:15:00')) |
+------------------------------------------------------------------------+
| 2023-03-15 14:00:00                                                    |
+------------------------------------------------------------------------+

该示例先将日期时间 ‘2023-03-15 10:15:00’ 加上 45 分钟,再在该结果上加上 3 小时。最终得到新的日期时间值。

减少年份

本示例展示了如何使用负数来减少年份:

SELECT TIMESTAMPADD(YEAR, -5, '2023-03-15');

以下是该语句的输出:

+--------------------------------------+
| TIMESTAMPADD(YEAR, -5, '2023-03-15') |
+--------------------------------------+
| 2018-03-15                           |
+--------------------------------------+

该示例将日期 ‘2023-03-15’ 减去 5 年的结果。

查询表中的日期时间数据

DROP TABLE IF EXISTS orders;
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
order_date DATETIME
);

INSERT INTO orders (order_date) VALUES
('2023-02-15 09:23:11'),
('2023-03-01 14:56:32'),
('2023-03-15 18:09:45');

SELECT id, order_date, TIMESTAMPADD(WEEK, 1, order_date) AS next_week
FROM orders;

以下是该语句的输出:

+----+---------------------+---------------------+
| id | order_date          | next_week           |
+----+---------------------+---------------------+
|  1 | 2023-02-15 09:23:11 | 2023-02-22 09:23:11 |
|  2 | 2023-03-01 14:56:32 | 2023-03-08 14:56:32 |
|  3 | 2023-03-15 18:09:45 | 2023-03-22 18:09:45 |
+----+---------------------+---------------------+

该示例查询 orders 表中的订单日期,并计算每个订单日期的下一周的日期时间。

相关函数

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

  • MariaDB TIMESTAMPDIFF() 函数用来获取两个日期时间值之间的时间间隔。
  • MariaDB DATE_ADD() 函数用来为日期增加指定的时间间隔。
  • MariaDB DATE_SUB() 函数用来从日期中减去指定的时间间隔。
  • MariaDB ADDTIME() 函数用来将时间与时间或日期时间进行加法运算。
  • MariaDB SUBTIME() 函数用来将时间从时间或日期时间中进行减法运算。

结论

MariaDB TIMESTAMPADD() 函数是一个非常有用的日期时间处理函数,可以方便地对日期或时间进行加减操作。通过指定不同的时间单位和间隔,可以实现多种日期时间计算需求。结合其他相关的日期时间函数,可以更好地满足数据处理中对时间维度的需求。