MySQL INSERT() 函式



MySQL 的INSERT()函式用於在指定位置將新的字串插入到給定字串中,並替換一定數量的字元。

如果提供的插入位置超出字串長度,則返回原始字串,不做任何更改。如果提供的替換長度大於字串剩餘部分的長度,則將從該位置開始替換到字串末尾。

語法

以下是 MySQL INSERT() 函式的語法:

INSERT(str,pos,len,newstr)

引數

以下是該函式接受的引數:

  • str 是需要插入新子字串的字串值。

  • pos 是需要新增子字串的位置。

  • len 是要插入的新字串的長度。

  • newstr 是要插入的新字串。

返回值

此函式返回一個新的字串,其中指定的子字串被另一個字串替換。

示例

在下面的示例中,我們將子字串 'Tutorials' 插入到字串 'Tutorialspoint' 的位置 10,替換 3 個字元:

SELECT INSERT('Tutorialspoint', 10, 3, 'Tutorials');

以下是上述程式碼的輸出:

INSERT('Tutorialspoint', 10, 3, 'Tutorials')
TutorialsTutorialsnt

示例

如果 'pos' 值不大於原始字串的長度,則函式返回原始字串:

SELECT INSERT('Tutorialspoint', 20, 5, 'Tutorials');

獲得的輸出如下:

INSERT('Tutorialspoint', 20, 5, 'Tutorials')
Tutorialspoint

示例

如果 'len' 值不大於原始字串的長度,則函式將原始字串的其餘部分替換為新字串:

SELECT INSERT('Tutorialspoint', 5, 20, ' welcome ');

我們得到如下輸出:

INSERT('Tutorialspoint', 5, 20, ' welcome ')
Tuto welcome

示例

如果傳遞給此函式的任何引數為 NULL,則函式返回 NULL:

SELECT INSERT('NULL', 5, 20, ' welcome ');

產生的結果如下所示:

INSERT('NULL', 5, 20, ' welcome ')
NULL

示例

您還可以使用 INSERT() 函式將表的列值替換為您想要的字串。

讓我們建立一個名為“EMP”的表,並使用 CREATE 和 INSERT 語句向其中插入記錄,如下所示:

CREATE TABLE EMP(
   FIRST_NAME  CHAR(20) NOT NULL,
   LAST_NAME  CHAR(20),
   AGE INT,
   INCOME FLOAT
);

現在,讓我們使用 INSERT 語句向其中插入記錄:

INSERT INTO EMP VALUES 
('Krishna', 'Sharma', 19, 2000),
('Raj', 'Kandukuri', 20, 7000),
('Ramya', 'Ramapriya', 25, 5000),
('Mac', 'Mohan', 26, 2000);

獲得的 EMP 表如下:

FIRST_NAME LAST_NAME AGE INCOME
Krishna Sharma 19 2000
Raj Kandukuri 20 7000
Ramya Ramapriya 25 5000
Mac Mohan 26 2000

以下查詢將 'FIRST_NAME' 列中的值替換為一個公共字串:

SELECT FIRST_NAME, LAST_NAME, AGE, INSERT(FIRST_NAME, 2, 50, ' REST OF THE STRING') as RESULT
FROM EMP;

執行上述程式碼後,我們將獲得以下輸出:

FIRST_NAME LAST_NAME AGE RESULT
Krishna Sharma 19 K REST OF THE STRING
Raj Kandukuri 20 R REST OF THE STRING
Ramya Ramapriya 25 R REST OF THE STRING
Mac Mohan 26 A REST OF THE STRING
mysql-insert-function.htm
廣告
© . All rights reserved.