Problema:
Você gostaria de remover uma quebra de linha em uma coluna.
Exemplo:
Nosso banco de dados tem uma tabela chamada
address_book
com dados nas colunas city_name
e company_address
. Você deseja substituir cada uma das guias e as quebras de linha no company_address
coluna com ‘ ‘ (um espaço) para torná-la mais atraente visualmente. city_name | company_address |
---|---|
Tóquio | Rua 15 Oreo, Tóquio 9870-11 |
Varsóvia | 18 Marszalkowska Avenue, Varsóvia 03-654 |
Acra | 123 Banana Junction, Círculo-Acra, 00244 |
Berlim | 25th Mango Avenue, Asilo para baixo, DE-1234 |
Solução:
Segue a consulta:
SELECT city_name, REPLACE(company_address, CHR(10) || CHR(13) || CHR(9), ‘ ‘) FROM address_book;
Segue o resultado da consulta:
city_name | company_address |
---|---|
Tóquio | 15th Oreo Street, Tóquio 9870-11 |
Varsóvia | Ave Marszalkowska 18, Varsóvia 03-654 |
Acra | 123 Banana Junction, Circle-Accra, 00244 |
Berlim | 25th Mango Avenue, Asylum Down, DE-1234 |
Discussão:
O
REPLACE()
A função geralmente é usada para substituir todas as ocorrências de uma string especificada em uma string por outra string. Você pode perguntar por que usamos CHR(10)
e CHR(13)
no exemplo acima. O CHR()
A função é usada para inserir caracteres de controle em uma string. CHR(10)
é usado para inserir quebras de linha, CHR(9)
é para guias e CHR(13)
é para retornos de carro. No exemplo acima, queríamos remover todas as ocorrências de quebra de linha, tabulação e retorno de carro, então usamos
CHR(10)
, CHR(9)
e CHR(13)
. Eles podem ser combinados usando o sinal de concatenação no Oracle (||
) para remover todas as suas ocorrências em uma coluna. Um exemplo de sintaxe é REPLACE(string, CHR(10) || (CHR(13) || CHR(09), ‘ ‘ )
.