Neste tutorial, aprenderemos sobre a função traduzente () no banco de dados Oracle para substituir uma sequência de caracteres por outro.
Oracle traduz função
No Oracle, a função de tradução permite substituir um determinado conjunto de personagens por outro, um personagem de cada vez.
Pegue o seguinte snippet que expressa a sintaxe da função:
Traduzir (string, from_string, substituição_string);
Da sintaxe fornecida, a função aceita três argumentos principais:
Depois que a função traduzida executa a substituição especificada, ela retorna a string com as ocorrências correspondentes substituídas. No entanto, se algum parâmetros de função for nulo, a função produzirá automaticamente um tipo nulo.
Exemplo de uso da função
A seguir, são apresentados exemplos que demonstram o uso da função traduzente ().
Exemplo 1: Uso da função básica
O código a seguir mostra como usar a função de tradução para substituir todos os caracteres "A" por um caractere de asterisco:
Selecione traduzir ('Oracle Bathabases', 'a', '*') como traduzido
de dual;
A sequência resultante é a seguinte:
Traduzido
---------------------
Ou*cle d*t*b*ses
Exemplo 2: Substituindo vários caracteres
Também podemos substituir os vários caracteres usando a função de tradução, como mostrado no exemplo a seguir:
Selecione traduzir ('Oracle Bathabases', 'ab', 'xy') como traduzido
de dual;
Saída:
Traduzido
------------------
Orxcle dxtxyxses
Exemplo 3: Definindo o substituto_string como vazio
Considere este exemplo que demonstra como a função se comporta se definirmos o parâmetro substituto_string como um valor vazio.
Selecione Traduzir ('Oracle Databases', 'ab', ") como traduzido
de dual;
Nesse caso, a função retorna uma corda vazia. Isso ocorre porque uma corda vazia é tratada como um valor nulo. Lembre -se de que a função sempre retorna nulo se algum dos parâmetros é nulo.
Exemplo 4: sequência inigualável
O que acontece se os caracteres especificados de From_String não forem encontrados na fonte_string?
A ilustração a seguir demonstra o seguinte:
Selecione Translate ('Oracle Databases', 'xx', '*') como traduzido
de dual;
Saída:
Traduzido
-----------------
Bancos de dados Oracle
Como você pode adivinhar, a função não executa nenhuma ação na string de origem.
Conclusão
Este tutorial ensinou a você como usar a função translate () no banco de dados Oracle para executar uma substituição de caractere individual. Observe que, embora a função de tradução se comporte de maneira semelhante à função de substituição, eles são diferentes no modo de reposição. A função Substitua executa uma substituição inteira de string em comparação com a substituição de um caractere de cada vez na função de tradução.