Mysql 简明教程
MySQL - Interval Operator
MySQL INTERVAL Operator
MySQL 中的 INTERVAL 运算符用于创建两个不同事件或时间之间的间隔。该间隔可以是秒、分钟、小时、天等。因此,MySQL 主要使用此运算符来执行日期和时间计算,例如向日期和时间值添加或减去指定的时间间隔。
INTERVAL 运算符与各种日期和时间函数一起使用,并有助于在计算截止日期、计划事件等实时场景中使用。
Syntax
以下是 MySQL 中 INTERVAL 运算符的语法 −
INTERVAL expr unit
其中,
-
expr :是指定间隔值的关键字。
-
unit :关键字确定间隔单位(例如 DAY、HOUR、MINUTE 等)。
Note: INTERVAL 和 UNIT 不区分大小写。
Example
此处,我们向日期时间值“2023-04-14 09:45:30.000”添加两小时 −
SELECT '2023-04-14 09:45:30.000' + INTERVAL 2 HOUR;
Example
以下查询从日期时间值“2023-04-14 09:45:30.000”减去 60 分钟 −
SELECT '2023-04-14 09:45:30.000' - INTERVAL 60 MINUTE;
Example
此处,我们向日期“2023-04-14”添加和删除一个 −
SELECT DATE_ADD('2023-04-14', INTERVAL 1 MONTH) ADD_ONE_MONTH,
DATE_SUB('2023-04-14',INTERVAL 1 MONTH) SUB_ONE_MONTH;
Example
在以下查询中,我们使用 TIMESTAMPADD() 函数向时间戳值添加两小时 −
SELECT TIMESTAMPADD (HOUR, 2, '2020-01-01 03:30:43.000') 2_HOURS_LATER;
Example
现在,让我们使用以下查询创建一个名为 OTT 的表 −
CREATE TABLE OTT (
ID INT NOT NULL,
SUBSCRIBER_NAME VARCHAR (200) NOT NULL,
MEMBERSHIP VARCHAR (200),
EXPIRED_DATE DATE NOT NULL
);
使用以下查询,我们使用 INSERT INTO 语句插入一些记录到上述创建的表中,如下所示 −
INSERT INTO OTT VALUES
(1, 'Dhruv', 'Silver', '2023-04-30'),
(2, 'Arjun','Platinum', '2023-04-01'),
(3, 'Dev','Silver', '2023-04-23'),
(4, 'Riya','Gold', '2023-04-05'),
(5, 'Aarohi','Platinum', '2023-04-02'),
(6, 'Lisa','Platinum', '2023-04-25'),
(7, 'Roy','Gold', '2023-04-26');
表创建如下 −
现在,我们从 OTT 表中选择订阅者的数据,他们的会员资格将在特定的“2023-04-01”日期后 7 天内到期。
SELECT ID, SUBSCRIBER_NAME, MEMBERSHIP, EXPIRED_DATE,
DATEDIFF(expired_date, '2023-04-01') EXPIRING_IN
FROM OTT
WHERE '2023-04-01' BETWEEN DATE_SUB(EXPIRED_DATE, INTERVAL 7 DAY)
AND EXPIRED_DATE;
执行给定的查询后,输出如下: