MySQL INSERT() 函数在字符串的指定位置插入一定数量的字符的子字符串。
如果指定位置不在字符串的长度范围内,该函数将返回字符串。如果数字不在字符串其余部分的长度之内,此函数将从指定位置开始替换字符串 直到字符串末尾。请注意,字符串中的第一个位置以 1 开头。
语法
INSERT(string, position, number, substring)
参数
string | 必填。 指定要修改的字符串。 |
position | 必填。 指定字符串中的插入子字符串位置。 |
number | 必填。 指定字符串中要替换的字符数。 |
substring | 必填。 指定要插入到字符串中的子字符串。 |
返回值
返回修改后的值
示例 1:
下面的示例展示了 INSERT() 函数的用法。
mysql> SELECT INSERT('Learning SQL is fun', 10, 3, 'MySQL');
Result: 'Learning MySQL is fun'
mysql> SELECT INSERT('abcxyz', 4, 3, 'def');
Result: 'abcdef'
mysql> SELECT INSERT('ABCPQR', 4, 3, 'abc');
Result: 'ABCabc'
示例 2:
考虑一个名为 Employee 的数据库表,其中包含以下记录:
EmpID | Name | City | Salary |
---|---|---|---|
FIN001 | John | London | 3000 |
FIN002 | Marry | New York | 2750 |
FIN003 | Jo | Paris | 2800 |
FIN004 | Kim | Amsterdam | 3100 |
FIN005 | Ramesh | New Delhi | 3000 |
FIN006 | Huang | Beijing | 2800 |
在下面的查询中,INSERT() 函数用于更改 Employee 表的 EmpID 列的记录:
UPDATE Employee SET EmpID = INSERT(EmpID, 1, 3, 'FINCAD');
-- 查看结果
SELECT * FROM Employee;
这将产生以下结果:
EmpID | Name | City | Salary |
---|---|---|---|
FINCAD001 | John | London | 3000 |
FINCAD002 | Marry | New York | 2750 |
FINCAD003 | Jo | Paris | 2800 |
FINCAD004 | Kim | Amsterdam | 3100 |
FINCAD005 | Ramesh | New Delhi | 3000 |
FINCAD006 | Huang | Beijing | 2800 |