MySQL - PERIOD_ADD() 函数



MySQL 的PERIOD_ADD()函数用于向期间添加一定数量的月份。在 MySQL 中,期间定义为年和月的组合;它将以 YYMM 或 YYYYMM 的格式表示。

此 MySQL 函数接受期间和表示月份数的数值作为参数;并将给定的月份数添加到给定的期间。此函数的结果将采用YYYYMM的形式。

语法

以下是 MySQL PERIOD_ADD() 函数的语法:

PERIOD_ADD(P,N);

参数

此方法接受两个参数。如下所述:

  • P 是期间值。格式为“YYMM”或“YYYYMM”

  • N 是您需要添加到期间的月份数。

返回值

此函数在添加指定的月份数后返回新的期间值。

示例

以下示例演示了PERIOD_ADD()函数的使用:

SELECT PERIOD_ADD('202309', 12) As Result;

输出

这将产生以下结果:

结果
202409

示例

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

SELECT PERIOD_ADD('202308', -09) As Result;

输出

以下是输出:

结果
202211

示例

在这个例子中,我们使用以下 CREATE TABLE 查询创建了一个名为PLAYERS的表

CREATE TABLE PLAYERS(
   ID int,
   NAME varchar(255),
   DATE_OF_BIRTH date,
   DOB_PERIOD varchar(30),
   Country varchar(255),
   PRIMARY KEY (ID)
);

现在,使用 INSERT 语句将以下记录插入 ORDERS 表:

INSERT INTO PLAYERS VALUES
(1, 'Shikhar Dhawan', DATE('1981-12-05'), 198112, 'India'),
(2, 'Jonathan Trott', DATE('1981-04-22'), 198104, 'SouthAfrica'),
(3, 'Kumara Sangakkara', DATE('1977-10-27'), 197710, 'Srilanka'),
(4, 'Virat Kohli', DATE('1988-11-05'), 198811, 'India'),
(5, 'Rohit Sharma', DATE('1987-04-30'), 198704, 'India'),
(6, 'Ravindra Jadeja', DATE('1988-12-06'), 198812, 'India'),
(7, 'James Anderson', DATE('1982-06-30'), 198206, 'England');

执行以下查询以获取在上面创建的表中插入的所有记录:

Select * From PLAYERS;

以下是 PLAYERS 表:

ID 姓名 出生日期 DOB_PERIOD 国家
1 希卡尔·达万 1981-12-05 198112 印度
2 乔纳森·特罗特 1981-04-22 198104 南非
3 库马拉·桑加卡拉 1977-10-27 197710 斯里兰卡
4 维拉特·科利 1988-11-05 198811 印度
5 罗希特·夏尔马 1987-04-30 198704 印度
6 拉文德拉·贾德贾 1988-12-06 198812 印度
7 詹姆斯·安德森 1982-06-30 198206 英国

在这里,我们使用 MySQL PERIOD_ADD() 函数向“PLAYERS”表中的“DOB_PERIOD”添加12 个月

SELECT ID, NAME, DATE_OF_BIRTH, DOB_PERIOD, PERIOD_ADD(DOB_PERIOD, 12)
As Result From PLAYERS;

输出

输出显示如下:

ID 姓名 出生日期 DOB_PERIOD 结果
1 希卡尔·达万 1981-12-05 198112 198212
2 乔纳森·特罗特 1981-04-22 198104 198204
3 库马拉·桑加卡拉 1977-10-27 197710 197810
4 维拉特·科利 1988-11-05 198811 198911
5 罗希特·夏尔马 1987-04-30 198704 198804
6 拉文德拉·贾德贾 1988-12-06 198812 198912
7 詹姆斯·安德森 1982-06-30 198206 198306
广告