REPLACE はストリング処理関数で、すべてのストリング・データ・タイプ (BIT、BLOB、および CHARACTER) を処理し、提供されるサブストリングにストリングの一部を置換します。
REPLACE は、ソース・ストリングからなるストリングを戻しますが、検索ストリングが出現する個所は置換ストリングに置き換えられています。これらのパラメーター・ストリングは、CHARACTER、BLOB、または BIT データ・タイプにすることができますが、これら 3 つは同じタイプでなければなりません。
いずれかのパラメーターが NULL なら、結果は NULL です。
REPLACE('ABCDABCDABCDA', 'A', 'AA') -- RESULT = AABCDAABCDAABCDAA REPLACE('AAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ') -- RESULT = XYZXYZBCDEFGHXYZXYZBCDEFGH REPLACE('AAAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ') -- RESULT = XYZXYZABCDEFGHXYZXYZBCDEFGH
最初の例は、置換が単一パスであることを示しています。A の各出現個所が AA に置き換えられていますが、それ以上は拡張されていません。
2 番目の例は、1 回マッチングした文字はそれ以上考慮されないことを示しています。最初の AA の対はマッチングし、置換され、それ以降は無視されます。2 番目と 3 番目の A は一致しません。
3 番目の例は、マッチングが左から行われることを示しています。最初の 4 つの A は 2 つの対としてマッチングされ、置換されます。5 番目の A はマッチングしません。
置換ストリング式を指定しない場合、置換ストリングは空ストリングにデフォルト設定され、関数の動作は、結果から検索ストリングのすべての出現個所を削除します。