Sintaxe da função Coalesce
A sintaxe da função Coalesce é dada abaixo:
Coalesce (expressão 1, expressão 2,…, expressão n)OU
Nvl (expressão 1, expressão 2,…, expressão n)Não há limite para o valor que você pode inserir. A função Coalesce funciona como uma condição de if-else. Ele começará a pesquisar da esquerda para a direita até encontrar a expressão não nula. Isso significa que começará sua pesquisa a partir da primeira expressão. Se for nulo, ele se moverá para a segunda expressão para verificar a expressão e assim por diante até obter a expressão não nula.
A função Coalesce é independente do tipo de dados, o que significa que você pode usar a função Coalesce em todas as expressões de tipo de dados. Mas todas as expressões devem ser do mesmo tipo. Por exemplo, a função Coalesce não permite a expressão 1 do tipo de dados numéricos e expressão 2 do tipo de dados do caractere. Portanto, ao usar a função Coalesce, verifique se todas as expressões de entrada devem ser do mesmo tipo de dados.
Exemplos de função coalesce
Esta seção usará exemplos diferentes para explicar como a função Coalesce ou NVL pode ser usada em diferentes cenários. Usaremos os seguintes exemplos para entender a função Coalesce:
Usando a função Coalesce em vários valores
No primeiro exemplo, tentaremos entender o funcionamento da função Coalesce, aplicando -a a vários valores.
Use a consulta a seguir para implementar a função Coalesce:
Select Coalesce (NULL, NULL, NULL, 56, NULL, 100)A consulta anterior gerará a seguinte saída:
56A função Coalesce inicia sua pesquisa verificando a primeira expressão, que é nula. Se move para a segunda expressão, que também é nula. Ele se move para a terceira expressão, que também tem um valor nulo. Então, ele se moverá para a quarta expressão, que não é um valor nulo, e retornará a quarta expressão, i.e., 56.
Neste exemplo, aplicaremos a função Coalesce em um tipo de dados Varchar para mostrar que a função Coalesce é independente dos tipos de dados. Use a consulta a seguir para aplicar a função Coalesce nos parâmetros do tipo de dados VARCH.
selecione Coalesce (nulo, nulo, 'cocacola', nulo, 'pepsi');Ele gerará a seguinte saída:
Coca ColaPortanto, este exemplo prova que a função Coalesce é independente dos tipos de dados dos parâmetros passados. A função Coalesce começa a procurar a expressão não nula, então Coca Cola é a primeira expressão não nula. A função Coalesce retorna o Coca Cola, e as demais expressões não são avaliadas.
Usando a função Coalesce no valor único
Neste exemplo, usaremos a função Coalesce em uma única expressão. Use a consulta a seguir para implementar a função Coalesce em uma única expressão:
selecione Coalesce (56);O resultado da consulta anterior será o seguinte:
56A função Coalesce inicia sua pesquisa e a primeira expressão não é nula para que retorne essa expressão, eu.e., 56.
Agora, aplicamos a função Coalesce em uma única expressão, e seu valor é nulo.
selecione Coalesce (nulo);Ele retornará uma resposta vazia porque existe apenas uma expressão nula e a função Coalesce retorna apenas a expressão não nula.
Usando a função NVL
Neste exemplo, aplicaremos a função NVL em vez da função Coalesce para retornar o primeiro valor não nulo.
Use a consulta a seguir para aplicar a função NVL em vez da função Coalesce:
selecione NVL (NULL, NULL, 100, NULL, 1000);Ele retornará a seguinte resposta.
100Este exemplo mostra que o NVL funciona exatamente da mesma forma que a função Coalesce. Em resumo, podemos dizer que o NVL é sinônimo da função Coalesce.
Usando a função Coalesce com tabelas
Esta seção usará vários exemplos para implementar a função Coalesce com tabelas. Primeiro, criaremos uma tabela e inseriremos dados nela. Em seguida, usaremos a função Coalesce nesta tabela.
Use a seguinte consulta para criar o Aws_redshift_coalesce Tabela no cluster do desvio para o vermelho:
Criar tabela aws_redshift_coalesce (primeiro_value int, segundo_value int);Agora, insira alguns dados nesta tabela, incluindo alguns valores nulos
inserir em aws_redshift_coalesce valores ('240', nulo);Depois de inserir os dados, aplique a função Coalesce a ele usando a seguinte consulta:
Selecione Coalesce (First_Value, Second_Value)Ele gerará a seguinte saída:
240A função Coalesce começa a verificar a primeira coluna. Na primeira coluna, 240, 480 e 1080 são os valores não nulos. Portanto, a função Coalesce retorna esses valores e depois verifica a segunda coluna onde encontrou 360 e 720 como não valores nulos.
No exemplo a seguir, usaremos a mesma tabela para entender o conceito de função Coalesce em uma única coluna.
Selecione Coalesce (First_Value)Esta consulta, quando executada, gerará a seguinte saída.
240No primeira coluna, Apenas 240 e 480 não são valores nulos. Portanto, a função Coalesce retornará apenas esses dois valores.
Se aplicarmos a função Coalesce na segunda coluna da tabela.
Selecione Coalesce (First_Value)Esta consulta gerará o seguinte resultado quando executado:
360Na segunda coluna, 360, 720 e 1080 são os valores não nulos. Portanto, a função Coalesce retornará apenas esses três valores.
Conclusão
Neste artigo, estudamos como usar a função Coalesce para obter a primeira expressão não nula. A função Coalesce é muito útil para encontrar o valor não nulo dos dados. Se todos os valores da coluna forem nulos, a função Coalesce retornará o resultado vazio. Deve ser a mesma expressão de tipo de dados na coluna única. Quando a função Coalesce descobre a expressão não nula, ele interrompe as execuções e as demais expressões permanecem desmarcadas.