El SQLite replace()
La función nos permite reemplazar una cadena (o parte de una cadena) con otra cadena.
La forma en que funciona es que proporciona tres argumentos; la cadena que contiene la subcadena a reemplazar, la subcadena dentro de esa cadena a reemplazar y la cadena con la que reemplazarla.
Sintaxis
La sintaxis es así:
replace(X,Y,Z)
La función devuelve una cadena formada al sustituir la cadena Z por cada ocurrencia de la cadena Y en la cadena X.
La secuencia de clasificación BINARIA se utiliza para las comparaciones. Si Y es una cadena vacía, devuelve X sin cambios. Si Z inicialmente no es una cadena, se convierte en una cadena UTF-8 antes del procesamiento.
Ejemplo
Aquí hay un ejemplo simple para demostrarlo.
SELECT replace('Red Sky', 'Red', 'Blue');
Resultado:
Blue Sky
Si el segundo argumento no se encuentra en el primer argumento, no se reemplaza nada y se devuelve la cadena original.
SELECT replace('Red Sky', 'Green', 'Blue');
Resultado:
Red Sky
Si el segundo argumento es una cadena vacía, de nuevo, no se reemplaza nada y se devuelve la cadena original.
SELECT replace('Red Sky', '', 'Blue');
Resultado:
Red Sky
Pero no se puede decir lo mismo del tercer argumento. Si esa es una cadena vacía (y el segundo argumento se encuentra en el primer argumento), eliminará el segundo argumento de la cadena.
SELECT replace('Red Sky', 'Red', '');
Resultado:
Sky
Sin embargo, esto no sucederá si el segundo argumento no se encuentra en la cadena.
SELECT replace('Red Sky', 'Blue', '');
Resultado:
Red Sky
Reemplazar con una sin cadena
Si el tercer argumento no es una cadena, se convierte en una cadena UTF-8 antes del procesamiento.
SELECT replace('Red Sky', 'Red', 8);
Resultado:
8 Sky
Ejemplo de base de datos
Aquí hay un ejemplo que toma datos de una tabla de base de datos y reemplaza una cadena/subcadena determinada con otra cadena.
SELECT
ProductName,
replace(ProductName, 'Widget', 'Car')
FROM Products;
Resultado:
ProductName replace(ProductName, 'Widget', 'Car') -------------- ------------------------------------- Homer's Widget Homer's Car Peter's Widget Peter's Car Bob's Widget Bob's Car