Oracle Coalesce Função

Oracle Coalesce Função
Neste post, aprenderemos a trabalhar com a função Coalesce () para buscar o primeiro valor não nulo em uma lista.

Introdução à função Oracle Coalesce ()

A função coalesce () permite especificar uma lista de argumentos e retornar o primeiro argumento não nulo do conjunto fornecido.

Podemos expressar a sintaxe da função da seguinte forma:

Coalesce (expressão1, expressão2,…, expressão);

Na sintaxe fornecida, a expressão1, expressão2,…, Expressionn representa as expressões a serem avaliadas para valores nulos.

Depois que a função encontra o primeiro valor não nulo na lista de expressões fornecidas, ele retorna esse valor. No entanto, a função retorna nulo se todas as expressões forem nulas.

Veja este exemplo que demonstra o uso básico da função Coalesce () nos bancos de dados Oracle:

Selecione Coalesce (NULL, NULL, 1, 2, 3) como fora de Dual;

No exemplo anterior, usamos a função Coalesce () com cinco valores ou expressões de entrada. Como os dois primeiros valores são nulos, a função retorna o primeiro valor após o que é o número inteiro 1.

Exemplo de saída:

Veja este segundo exemplo que demonstra o valor de retorno se todas as expressões forem nulas.

Selecione Coalesce (NULL, NULL, NULL) como fora de Dual;

A função retorna nulo como mostrado no seguinte:

A função coalesce () retorna o mesmo tipo de dados que o tipo de entrada se todos os valores forem do mesmo tipo.

No entanto, se as expressões de entrada forem de diferentes tipos de dados, a função tenta executar uma conversão de tipo implícito em todas as expressões para o tipo de dados da primeira expressão não nula.

Se a conversão falhar, o mecanismo de banco de dados retornará um erro.

Um exemplo é como demonstrado no seguinte:

Selecione Coalesce (NULL, NULL, NULL, 1, 'B') como fora de Dual;

Nesse caso, as expressões são de diferentes tipos de dados. Como a primeira expressão não nula é um número, a função tenta converter todas as expressões para o tipo de número que falha, pois o caractere "B" não pode ser convertido em um número.

O erro resultante é como mostrado:

[42000] [932] ORA-00932: Datsipos inconsistentes: número esperado

É bom ter em mente que a função usa avaliação de curto-circuito. Isso significa que a função para de encontrar a primeira expressão não nula. Portanto, mesmo que haja um erro após a primeira expressão não nula, ele não será registrado, pois a função não a avaliará.

Conclusão

Neste post, você descobriu o trabalho e o uso da função Oracle Coalesce () para retornar o primeiro argumento não nulo em uma expressão.