SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Como Replace() funciona no SQLite


O SQLite replace() A função nos permite substituir uma string (ou parte de uma string) por outra string.

A maneira como funciona é que você fornece três argumentos; a string que contém a substring a ser substituída, a substring dentro dessa string a ser substituída e a string pela qual substituí-la.

Sintaxe


A sintaxe fica assim:
replace(X,Y,Z)

A função retorna uma string formada substituindo a string Z por cada ocorrência da string Y na string X.

A sequência de agrupamento BINARY é usada para comparações. Se Y for uma string vazia, retorne X inalterado. Se Z não for inicialmente uma string, ela será convertida em uma string UTF-8 antes do processamento.

Exemplo


Aqui está um exemplo simples para demonstrar.
SELECT replace('Red Sky', 'Red', 'Blue');

Resultado:
Blue Sky

Se o segundo argumento não for encontrado no primeiro argumento, nada será substituído e a string original será retornada.
SELECT replace('Red Sky', 'Green', 'Blue');

Resultado:
Red Sky

Se o segundo argumento for uma string vazia, nada será substituído e a string original será retornada.
SELECT replace('Red Sky', '', 'Blue');

Resultado:
Red Sky

Mas o mesmo não pode ser dito sobre o terceiro argumento. Se for uma string vazia (e o segundo argumento for encontrado no primeiro argumento), ele removerá o segundo argumento da string.
SELECT replace('Red Sky', 'Red', '');

Resultado:
 Sky

No entanto, isso não acontecerá se o segundo argumento não for encontrado na string.
SELECT replace('Red Sky', 'Blue', '');

Resultado:
Red Sky

Substituindo por uma não string


Se o terceiro argumento não for uma string, ele será convertido em uma string UTF-8 antes do processamento.
SELECT replace('Red Sky', 'Red', 8);

Resultado:
8 Sky

Exemplo de banco de dados


Aqui está um exemplo que pega dados de uma tabela de banco de dados e substitui uma determinada string/substring por outra string.
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