メインコンテンツまでスキップ

replace

置換

説明

文字列内のすべての文字の出現を別の文字列で置き換えます。この関数は、 pattern を検索する際に大文字と小文字を区別します。

この関数はv3.0からサポートされています。

注:3.0以前では、この関数は regexp_replace として実装されていました。

構文

VARCHAR replace(VARCHAR str, VARCHAR pattern, VARCHAR repl)

パラメータ

  • str: 元の文字列です。
  • pattern: 置き換える文字です。これは正規表現ではありません。
  • repl: pattern 内の文字を置き換えるために使用する文字列です。

戻り値

指定した文字で置き換えられた文字列を返します。

いずれかの引数がNULLの場合、結果もNULLになります。

一致する文字が見つからない場合、元の文字列が返されます。

-- 'a.b.c' 内の '.' を '+' に置換します。

MySQL > SELECT replace('a.b.c', '.', '+');
+----------------------------+
| replace('a.b.c', '.', '+') |
+----------------------------+
| a+b+c |
+----------------------------+

-- 一致する文字が見つからず、元の文字列が返されます。

MySQL > SELECT replace('a b c', '', '*');
+----------------------------+
| replace('a b c', '', '*') |
+----------------------------+
| a b c |
+----------------------------+

-- 'like' を空文字列で置換します。

MySQL > SELECT replace('We like StarRocks', 'like', '');
+------------------------------------------+
| replace('We like StarRocks', 'like', '') |
+------------------------------------------+
| We StarRocks |
+------------------------------------------+

-- 一致する文字が見つからず、元の文字列が返されます。

MySQL > SELECT replace('He is awesome', 'handsome', 'smart');
+-----------------------------------------------+
| replace('He is awesome', 'handsome', 'smart') |
+-----------------------------------------------+
| He is awesome |
+-----------------------------------------------+

キーワード

REPLACE, replace