
En este tutorial, aprenderás a usar la función REPLACE() de SQL Server para reemplazar todas las veces que aparezca una palabra, frase o cadena de caracteres por otra palabra o frase dentro de una cadena de caracteres.
REPLACE(input_string, substring, new_substring);
Explicación de la sintaxis:
- input_string es cualquier expresión de cadena a buscar.
- substring es la subcadena que se va a reemplazar.
- new_substring es la cadena de reemplazo.
La función REPLACE()
devuelve una nueva cadena en la que todas las apariciones de la subcadena es reemplazada por el valor de new_substring. Devuelve NULL si algún argumento es NULL.
Ejemplos de SQL Server REPLACE()
Veamos algunos ejemplos del uso de la función REPLACE()
para comprender cómo funciona.
A) Uso de la función REPLACE() con cadenas literales
El siguiente ejemplo usa la función REPLACE()
para reemplazar aprendiz por experto en la cadena 'Serás un aprendiz siguiendo los tutoriales de Estrada Web Group.':
SELECT
REPLACE(
'Serás un aprendiz siguiendo los tutoriales de Estrada Web Group, inicia ahora y conviértete en un aprendiz.',
'aprendiz',
'experto'
) result;
Resultado:
Como puede ver en el resultado, todas las ocurrencias de aprendiz fueron reemplazadas por experto.
B) Uso de la función REPLACE() con columnas de tabla
En este ejemplo, utilizaremos la tabla sales.customers de la base de datos de muestra:
Este ejemplo llama a la función REPLACE()
dos veces para formatear el número de teléfono en un nuevo formato, se utiliza las instruccionse SELECT, WHERE, y ORDER BY:
SELECT first_name, last_name, phone, REPLACE(REPLACE(phone, '(', ''), ')', '') phone_formatted
FROM
sales.customers
WHERE phone IS NOT NULL
ORDER BY first_name, last_name;
La siguiente imagen muestra el resultado parcial:
Cómo funciona.
- La primera llamada REPLACE (phone, '(', '') reemplaza el carácter ‘(‘ en el número de teléfono por un espacio, por ejemplo, (916) 381-6003 -> 916) 381-6003
- La segunda llamada reutiliza el resultado de la primera llamada y reemplaza el carácter ")" por un espacio, por ejemplo, 916) 381-6003 -> 916 381-6003.
C) Usar la función REPLACE() para corregir datos en tablas
La función REPLACE()
se usa a menudo para corregir datos en una tabla. Por ejemplo, reemplazando un enlace desactualizada.
Sintaxis:
UPDATE table_name
SET
column_name = REPLACE(column_name, 'old_string','new_string')
WHERE
condition;
Por ejemplo, para cambiar el código de ciudad de los números de teléfono del 551 al 831, usa la siguiente declaración:
UPDATE
sales.customers
SET
phone = REPLACE(phone,'(551)','(831)')
WHERE
phone IS NOT NULL;
Ten en cuenta que debes hacer una copia de seguridad de la tabla antes de realizar reemplazos, por cualquier problema o error al ejecutar la función REPLACE()
.
En este tutorial, has aprendido a usar la función REPLACE()
de SQL Server para reemplazar todas las apariciones de una subcadena, dentro de una cadena, por una nueva subcadena.