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.html