OVERLAY はストリング処理関数で、すべてのストリング・データ・タイプ (BIT、BLOB、および CHARACTER) を処理し、ストリングの一部をサブストリングに置換します。
>>-OVERLAY--(--source_string-- PLACING -source_string2----------> >-- FROM --start_position--+----------------------+--)--------->< '- FOR --string_length-'
OVERLAY は、ソースと同じタイプの新しいストリングを戻し、source_string と同じです。ただし、ストリングにサブストリングが指定され、指定の数値位置から始まり、指定の長さが source_string2 に置き換えられます。サブストリングの長さが 0 なら、何も置換されません。
OVERLAY ('ABCDEFGHIJ' PLACING '1234' FROM 4 FOR 3)
は、ストリング 'ABC1234GHIJ' を戻します。いずれかのパラメーターが NULL なら、結果は NULL です。 string_length が指定されていない場合、これは LENGTH(source_string2) と同じと見なされます。
SUBSTRING(source_string FROM 1 FOR start_position -1 )
|| source_string2 ||
SUBSTRING(source_string FROM start_position + string_length)
ここで、|| は連結記号です。