Welcome to Our Website

Oracle COALESCE Function (Português)

Summary: in this tutorial, you will learn how to use the Oracle COALESCE() function to return the first non-null arguments in a list.

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

o Oracle COALESCE() aceita uma lista de argumentos e devolve o primeiro que avalia um valor não nulo.,

A seguir ilustra a sintaxe do Oracle COALESCE() função:

esta sintaxe, o COALESCE() retorna a primeira expressão não-null na lista. Requer pelo menos duas expressões. No caso de todas as expressões avaliarem para null, a função retorna null.,

O exemplo a seguir retorna uma, porque é o primeiro não-null argumento:

 RESULT---------- 1

O exemplo a seguir retorna null porque todos os argumentos são null:

tipo de Retorno

Se todos os argumentos têm o mesmo tipo de dados, o COALESCE() função retorna um valor do tipo de dados.

Se os argumentos têm diferentes tipos de dados, a função COALESCE() converte implicitamente todos os argumentos para o tipo de dados do primeiro argumento não nulo., No caso da conversão falhar, então Oracle emite um erro.

o exemplo seguinte devolve um valor com o tipo de caracteres, porque todos os argumentos são caracteres.,

da mesma forma, o exemplo a seguir retorna um valor do tipo numérico:

 RESULT---------- 1

no Entanto, o exemplo a seguir usa argumentos de tipos diferentes para o COALESCE() função:

Oracle emitiu o seguinte erro:

o COALESCE() função tentou converter o tipo de caractere de que o terceiro argumento para um tipo numérico do segundo argumento, que resultou em um erro.,

avaliação de curto-circuito

a função COALESCE() utiliza a avaliação de curto-circuito. Significa que a função pára de avaliar as expressões restantes, uma vez que encontra a primeira avaliação para um valor não nulo.

Considere o exemplo a seguir:

neste exemplo, o COALESCE() função avaliadas apenas a primeira expressão, porque o resultado da primeira expressão era de dois (1+1). Não avaliou a segunda expressão (1/0). Se o tivesse feito, a Oracle teria emitido a divisão por erro zero.,

Oracle COALESCE() exemplo

vamos montar uma tabela de amostra para testes.suponha que você tem que gravar contatos de emergência de funcionários com vários números de telefone: telefone de trabalho, telefone de casa e celular. Para fazer isso, crie uma nova tabela denominada emergency_contacts da seguinte forma:

as instruções A seguir inserir alguns contactos de emergência na tabela:

Alguns contatos têm apenas de telefone de trabalho, enquanto outros podem ter um telefone residencial e telefone celular ou não tem nenhum número de telefone em tudo.,

a seguinte consulta recupera os empregados e seus contatos de emergência com números de telefone:

neste exemplo, nós usamos a função COALESCE() para selecionar telefone doméstico, telefone de trabalho, ou celular, se cada um estiver disponível. In case no phone numbers are available, we returned N/A literal string which stands for not available.,

A seguir mostra o resultado da consulta:

Oracle COALESCE() e CASO a expressão

Você pode usar o COALESCE() função em vez do mais longo CASE expressão quando se trata de teste para null em várias expressões. The COALESCE() function is more concise than a CASE expression that involves null evaluations.,

If you check for NULL in two expressions, the COALESCE() function is equivalent to the CASE expression.

For example, the following COALESCE() function:

is equivalent to:

Likewise,

is equivalent to

Oracle COALESCE() vs. NVL()

The COALESCE() function is a part of SQL ANSI-92 standard while NVL() function is Oracle specific.,

Em caso de duas expressões, o COALESCE() função e NVL() parece ser semelhante, mas suas implementações são diferentes. Ver as seguintes afirmações:

ambas as afirmações retornam o mesmo resultado que é um. No entanto, a função COALESCE() apenas avalia a primeira expressão para determinar o resultado, enquanto a função NVL() avalia ambas as expressões.,

Vamos ver o exemplo a seguir:

A instrução acima devolvida 1 considerando que o exemplo a seguir faz com que um erro:

O erro é:

o NVL() função avaliada a segunda expressão 1/0 que faz com que o erro.

neste tutorial, você aprendeu a usar a função Oracle COALESCE() para retornar a primeira expressão não-nula em uma lista de expressões.

  • este tutorial foi útil?,
  • YesNo

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *