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
廣告
© . All rights reserved.