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.