首页 > 编程笔记

MySQL INSERT()函数的用法

在 MySQL 中,有一个叫做 INSERT() 的字符串函数,基本语法为:
INSERT(s1, x, len, s2)
INSERT(s1,x,len,s2) 返回字符串 s1,其子字符串起始于 x 位置和被字符串 s2 取代的 len 字符。

如果 x 超过字符串长度,则返回值为原始字符串。如果 len 的长度大于其他字符串的长度,则从位置 x 开始替换。若任何一个参数为 NULL,则返回值为 NULL。

【实例】使用 INSERT() 函数进行字符串替代操作,输入语句如下:
MySQL> SELECT INSERT('Quest', 2, 4, 'What') AS col1, INSERT('Quest', -1, 4, 'What') AS col2, INSERT('Quest', 3, 100, 'Wh') AS col3;
+--------+-------+-----------+
| col1   | col2  | col3     |
+--------+-------+-----------+
| QWhat  | Quest | QuWhat    |
+--------+-------+-----------+
第一个函数 INSERT('Quest', 2, 4, 'What') 将“Quest”第 2 个字符开始、长度为 4 的字符串替换为 What,结果为“QWhat”。

第二个函数 INSERT('Quest', -1, 4, 'What') 中起始位置 -1 超出了字符串长度,直接返回原字符。

第三个函数 INSERT('Quest', 3, 100, 'What') 替换长度超出了原字符串长度,则从第 3 个字符开始,截取后面所有的字符,并替换为指定字符 What,结果为 “QuWhat”。

推荐阅读