OVERLAY é uma função de manipulação de cadeias que manipula todos os tipos de dados de cadeia (BIT, BLOB e CHARACTER) e substitui parte de uma cadeia por uma subcadeia.
>>-OVERLAY--(--cadeia_de_origem-- PLACING --cadeia_de_origem2---> >-- FROM --posição_inicial--+--------------------------+--)---->< '- FOR --tamanho_da_cadeia-'
OVERLAY retorna uma nova cadeia do mesmo tipo que a origem e é idêntica a source_string, exceto que uma subcadeia especificada na cadeia, começando da posição numérica especificada e do comprimento especificado, foi substituída porsource_string2. Quando o comprimento da subcadeia for zero, nada será substituído.
OVERLAY ('ABCDEFGHIJ' PLACING '1234' FROM 4 FOR 3)
retorna a cadeia
'ABC1234GHIJ'Se qualquer parâmetro for NULL, o resultado será NULL. Se string_length não for especificado, será assumido como sendo igual a LENGTH(source_string2).
SUBSTRING(source_string FROM 1 FOR start_position -1 )
|| source_string2 ||
SUBSTRING(source_string FROM start_position + string_length)
em que || é o
operador de concatenação.