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