SQL

¿Cómo remplazar una cadena de caracteres por otra en SQL Server?

Estrada Web Group
Administrador
¿Cómo remplazar una cadena de caracteres por otra en SQL Server?

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:

Serás un experto siguiendo los tutoriales de Estrada Web Group, inicia ahora y conviértete en un experto.

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:

sql replace

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:

SQl Server emmplazar una cadena

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.

Compartir artículo:

Más artículos geniales

Aprende a utilizar subconsultas o subquery en SQL

Aprende a utilizar subconsultas o subquery en SQL

Una subconsulta es una declaración SQL que tiene otra consulta SQL incrustada en la cláusula WHERE o HAVING.

Ver artículo completo
¿Cómo obtener la suma, el total de registros y el promedio en SQL con SELECT COUNT, SUM, AVG?

¿Cómo obtener la suma, el total de registros y el promedio en SQL con SELECT COUNT, SUM, AVG?

Si queremos obtener la suma de una columna, el total de registros o el valor promedio de una columna, podemos utilizar las sentencias SQL SELECT COUNT, SUM y AVG.

Ver artículo completo
Cómo eliminar filas duplicadas en SQL Server, MySql y Oracle

Cómo eliminar filas duplicadas en SQL Server, MySql y Oracle

En este articulo veremos cómo eliminar filas duplicadas en SQL Server, en MySQL y Oracle.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;