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