Problema:
Le gustaría reemplazar parte de una cadena con otra cadena.
Ejemplo:
Nuestra base de datos tiene una tabla llamada investor
con datos en las siguientes columnas:id
, company
y phone
.
id | empresa | teléfono |
---|---|---|
1 | Gran Mercado | 123–300-400 |
3 | El Restaurante Soleado | 123–222-456 |
4 | Mi banco | 123-345-400 |
Nos gustaría cambiar el formato del número de teléfono de cada empresa reemplazando el carácter de guión por un espacio.
Solución:
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
La consulta devuelve una lista de números de teléfono con espacios en lugar de guiones como separadores:
nuevo_teléfono |
---|
123 300 400 |
123 222 456 |
123 345 400 |
Discusión:
Si desea reemplazar una subcadena con otra cadena, simplemente use el REPLACE
función. Esta función toma tres argumentos:
- La cadena a cambiar (que en nuestro caso era una columna).
- La subcadena a reemplazar.
- La cadena con la que reemplazar la subcadena especificada.
En el siguiente ejemplo, reemplazamos el adjetivo 'Grande' en company
columna con 'Pequeño'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Esta consulta muestra el nuevo nombre de la empresa para el inversor con id = 1
.
nueva_empresa |
---|
Mercado pequeño |