OVERLAY
デスクリプション
OVERLAY関数は、文字列の一部を別の文字列で置き換えるために使用されます。
Syntax
OVERLAY(<str>, <pos>, <len>, <newstr>)
パラメータ
| Parameter | デスクリプション |
|---|---|
<str> | 置換される文字列 |
<pos> | 置換される文字列の開始位置。1から開始。入力された位置が<str>の長さの範囲内にない場合、置換は実行されません |
<len> | 置換される長さ。<len>が0未満または残りの文字列の長さを超える場合、<pos>から始まる残りの文字列を置換します |
<newstr> | 置換用の文字列 |
戻り値
指定された位置から指定された長さを新しい文字列で置換した文字列を返します。特別なケース:
- いずれかのパラメータがNULLの場合、NULLが返されます。
<pos>が<str>の長さの範囲内にない場合、置換は実行されません。<len>が0未満またはstrの残り部分の長さの範囲を超える場合、<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 |
+-------------------------------------+