sql >> Base de Datos >  >> RDS >> SQLite

Cómo funciona Reemplazar () en SQLite

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