replace関数
replace関数では、置換文字列で置換された検索文字列のすべての出現を含むソースが返されます。
構文
returnvalue replace(source, search_string [, replacement_string])
source ::= any*
search_string ::= any*
replacement_string ::= any*
returnvalue ::= string
セマンティクス
- source
-
検索する必要がある入力文字列。この引数は、一連の文字列に暗黙的にキャストされます。
- search_string
-
ソースで検索する必要がある文字列。この引数は、一連の文字列に暗黙的にキャストされます。
- replacement_string
-
ソース内のsearch_stringのかわりに使用する必要のある文字列。これは、オプションの引数です。replacement_stringが省略されたか、空の順序である場合、search_stringのすべてのオカレンスはソースから削除されます。結果がSTRING_MAX_SIZE = 2^18 - 1 in chars (512kb)より大きくならないように結果がチェックされます。これより大きくなると、ランタイム問合せ例外がスローされます。この引数は、一連の文字列に暗黙的にキャストされます。
- returnvalue
-
search_string引数がNULLである場合、ソースを返します。
ソース引数がNULLの場合、NULLを返します。
ソース引数またはsearch_string引数のいずれかが空の順序である場合、NULLを返します。
引数が複数の項目を含む順序である場合はNULLを返します。
例11-20 replace関数
この例では、firstnameのすべてのオカレンスで文字列eがXに置き換えられます。PeterにXのオカレンスがあります。
SELECT firstname, replace(firstname,"e","X") FROM users;
+-----------+----------+
| firstname | Column_2 |
+-----------+----------+
| John | John |
| Peter | PXtXr |
| Mary | Mary |
+-----------+----------+
例11-21 replace関数
この例では、文字列arがurphで置換されます。ソースで、search_stringの後の残りの文字が出力用に保持されています。これによって、Maryの出力がMurphyとして生成されます。
SELECT firstname, replace(firstname,"ar","urph") FROM users;
+-----------+----------+
| firstname | Column_2 |
+-----------+----------+
| John | John |
| Peter | Peter |
| Mary | Murphy |
+-----------+----------+
例11-22 replace関数
この例では、replacement_stringは指定されていません。replacement_stringが指定されていないため、search_stringが削除され、残りのソースが表示されます。
SELECT firstname, replace(firstname,"oh") FROM users;
+-----------+----------+
| firstname | Column_2 |
+-----------+----------+
| John | Jn |
| Peter | Peter |
| Mary | Mary |
+-----------+----------+