OVERLAY
描述
OVERLAY 函数用于将一个字符串替换另一个字符串中的一部分。
语法
OVERLAY(<str>, <pos>, <len>, <newstr>)
参数
参数 | 说明 |
---|---|
<str> | 需要被替换的字符串 |
<pos> | 需要被替换的字符串的起始位置,从 1 开始计数,如果输入的位置不在<str> 的长度范围内,则不会进行替换 |
<len> | 需要被替换的长度,当<len> 小于 0 或超过字符串其余部分的长度范围时,则会从<pos> 开始替换掉其余字符串 |
<newstr> | 用于替换的新字符串 |
返回值
返回从指定位置、用新字符串替换指定长度后的字符。特殊情况:
- 任意参数中有一个为 NULL,则返回 NULL
<pos>
如果不在<str>
的长度范围内,则不会进行替换- 当
<len>
小于 0 或超过字符串其余部分的长度范围时,则会从<pos>
开始替换掉其余字符串
举例
select overlay('Quadratic', 3, 4, 'What');
+------------------------------------+
| overlay('Quadratic', 3, 4, 'What') |
+------------------------------------+
| QuWhattic |
+------------------------------------+
select overlay('Quadratic', null, 4, 'What');
+---------------------------------------+
| overlay('Quadratic', NULL, 4, 'What') |
+---------------------------------------+
| NULL |
+---------------------------------------+
select overlay('Quadratic', -1, 4, 'What');
+-------------------------------------+
| overlay('Quadratic', -1, 4, 'What') |
+-------------------------------------+
| Quadratic |
+-------------------------------------+
select overlay('Quadratic', 2, -4, 'What');
+-------------------------------------+
| overlay('Quadratic', 2, -4, 'What') |
+-------------------------------------+
| QWhat |
+-------------------------------------+