MySQL - ADDTIME() 函数



MySQL ADDTIME() 函数

与仅将指定时间间隔添加到日期值的 ADDDATE() 函数不同,MySQL 的 **ADDTIME()** 函数用于将指定时间间隔添加到日期时间或时间值。

此 MySQL 函数接受两个表达式作为参数,将表示时间间隔的表达式添加到表示日期、日期时间或时间的表达式,并返回获得的最终时间戳。如果两个参数中的任何一个为 NULL,则此函数将返回 NULL 值。

语法

以下是上述函数的语法 -

ADDTIME(expr1,expr2);

参数

此方法接受两个参数。下面描述了相同的内容 -

  • **expr1** 是表示日期时间或时间的表达式。

  • **expr2** 是表示要添加的时间间隔的表达式。

返回值

此函数返回初始时间和指定时间间隔的总和。

示例

以下示例演示了 **ADDTIME()** 函数的使用 -

SELECT ADDTIME('10:40:32.88558', '06:04:01.222222');

输出

获得以下输出 -

ADDTIME('10:40:32.88558', '06:04:01.222222')
16:44:34.107802

示例

在以下示例中,我们为时间传递 DATETIME 值 -

SELECT ADDTIME('2018-05-23 05:40:32.88558', '06:04:01.222222');

输出

获得以下输出 -

ADDTIME('2018-05-23 05:40:32.88558', '06:04:01.222222')
2018-05-23 11:44:34.107802

示例

在以下示例中,我们将 **CURTIME()** 函数的结果作为时间间隔传递 -

SELECT ADDTIME('2018-05-23 05:40:32.88558', CURTIME());

输出

获得以下输出 -

ADDTIME('2018-05-23 05:40:32.88558', CURTIME())
2018-05-23 17:58:41.885580

示例

我们还可以将负值作为参数传递给此函数。

**在日期和时间值上** -

SELECT ADDTIME('2018-05-23 05:40:32.88558', '-06:04:01.222222');

获得以下输出 -

ADDTIME('2018-05-23 05:40:32.88558', '-06:04:01.222222')
2018-05-22 23:36:31.663358

**在时间戳上** -

SELECT ADDTIME('06:23:15.99999', '-02:25:11.11111');

获得以下输出 -

ADDTIME('06:23:15.99999', '-02:25:11.11111')
03:58:04.888880

示例

让我们使用 CREATE 语句在 MySQL 数据库中创建另一个名为 **ORDERS** 的表,如下所示 -

CREATE TABLE ORDERS (
   OID INT NOT NULL,
   DATE VARCHAR (20) NOT NULL,
   CUSTOMER_ID INT NOT NULL,
   AMOUNT DECIMAL (18, 2)
);

现在,我们将使用 INSERT 语句在 ORDERS 表中插入以下记录 -

INSERT INTO ORDERS VALUES 
(102, '2009-10-08 00:00:00', 3, 3000.00),
(100, '2009-10-08 00:00:00', 3, 1500.00),
(101, '2009-11-20 00:00:00', 2, 1560.00),
(103, '2008-05-20 00:00:00', 4, 2060.00);

以下查询将时间间隔添加到名为 DATE 的列中的值 -

SELECT OID, DATE, ADDTIME(DATE, '12:45:50'), AMOUNT FROM ORDERS;

输出

输出显示如下 -

OID DATE ADDTIME(DATE, '12:45:50') AMOUNT
102 2009-10-08 00:00:00 2009-10-22 12:45:50 3000.00
100 2009-10-08 00:00:00 2009-10-22 12:45:50 1500.00
101 2009-11-20 00:00:00 2009-12-04 12:45:50 1560.00
103 2008-05-20 00:00:00 2008-06-03 12:45:50 2060.00
广告