La función OVERLAY es una función de manipulación de series de caracteres que manipula todos los tipos de datos de serie de caracteres (BIT, BLOB y CHARACTER) y sustituye una parte de una serie de caracteres por una subserie.
>>-OVERLAY--(--serie_origen-- PLACING --serie2_origen-----------> >-- FROM --posición_inicio--+-----------------------+--)------->< '- FOR --longitud_serie-'
OVERLAY devuelve una serie de caracteres nueva del mismo tipo que el origen y es idéntica a serie_origen, excepto que una subserie determinada en la serie de caracteres, que comienza a partir de la posición numérica especificada y con la longitud suministrada, se ha sustituido por serie_origen2. Cuando la longitud de la subserie es cero, no se sustituye nada.
OVERLAY ('ABCDEFGHIJ' PLACING '1234' FROM 4 FOR 3)
devuelve la serie de caracteres 'ABC1234GHIJ'Si cualquier parámetro es NULL, el resultado es NULL. Si no se especifica longitud_serie, se presupone que es igual a LENGTH(serie_origen2).
SUBSTRING(serie_origen FROM 1 FOR posición_inicio -1 )
|| serie_origen2 ||
SUBSTRING(serie_origen FROM posición_inicio + longitud_serie)
donde
|| es el operador de concatenación.