La función REPLACE 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 partes de una serie de caracteres por subseries suministradas.
>>-REPLACE--(--ExpresiónSerieOrigen--,--ExpresiónSerieBúsqueda--+---------------------------+--)->< '-ExpresiónSerieSustitución-'
REPLACE devuelve una serie formada por la serie de origen, en la que cada aparición de la serie de caracteres de búsqueda se ha sustituido por la serie de caracteres de sustitución. Las series de caracteres de parámetro pueden ser de los tipos de datos CHARACTER, BLOB o BIT pero los tres deben ser del mismo tipo.
Si cualquier parámetro es NULL, el resultado es NULL.
El proceso de búsqueda pasa una sola vez desde la izquierda e ignora los caracteres cuya coincidencia ya se ha constatado.
Si no especifica la expresión de serie de caracteres de sustitución, la serie de caracteres de sustitución toma por omisión una serie de caracteres vacía y el comportamiento de la función es suprimir todas las apariciones de la serie de caracteres del resultado.
REPLACE('ABCDABCDABCDA', 'A', 'AA')
-- RESULT = AABCDAABCDAABCDAA
El ejemplo anterior muestra
que la sustitución es hace en un solo pase. Cada aparición de A se ha sustituido por AA pero estas no se han
expandido adicionalmente. REPLACE('AAAABCDEFGHAAAABCDEFGH', 'AA', 'A')
-- RESULT = AABCDEFGHAABCDEFGH
Este ejemplo muestra que
después de sustituir los caracteres, no se realiza ninguna otra operación. Cada aparición de AA se sustituye por A, pero las AA resultantes no se
sustituyen. REPLACE('AAAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ')
-- RESULT = XYZXYZABCDEFGHXYZXYZBCDEFGH
Este último ejemplo
muestra que las coincidencias se buscan desde la izquierda. Se busca una coincidencia en las primeras cuatro A como dos pares y se sustituyen. La quinta A
no se considera coincidente.