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 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.
REPLACE('ABCDABCDABCDA', 'A', 'AA') -- RESULT = AABCDAABCDAABCDAA REPLACE('AAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ') -- RESULT = XYZXYZBCDEFGHXYZXYZBCDEFGH REPLACE('AAAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ') -- RESULT = XYZXYZABCDEFGHXYZXYZBCDEFGH
El primer ejemplo muestra que la sustitución es un solo pase. Cada aparición de A se ha sustituido por AA pero estas no se han expandido adicionalmente.
El segundo ejemplo muestra que los caracteres que ya tienen una coincidencia no se vuelven a tener en cuenta. Para el primer par de AA se busca una coincidencia, el par se sustituye y se descarta. Para las A segunda y tercera no se busca una coincidencia.
El tercer ejemplo muestra que la coincidencia se busca 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.
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.