Redshift Coalesce Função

Redshift Coalesce Função
A função Coalesce do Redshift retorna a primeira expressão não nula de uma lista. A função Coalesce começa a ler uma lista e, quando o primeiro valor não nulo é encontrado, a função não lerá o restante e retornará o primeiro valor não nulo. Se todos os valores da lista forem nulos, a função Coalesce retornará o valor nulo. A função Coalesce também é chamada de função de manuseio nulo Nvl. É usado para lidar com os valores nulos na lista.

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
  • Usando a função Coalesce em um único valor
  • Usando a função NVL
  • Usando a função Coalesce com tabelas

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:

56
(1 linha)

A 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 Cola
(1 linha)

Portanto, 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:

56
(1 linha)

A 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.

100
(1 linha)

Este 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);
inserir nos valores da AWS_REDSHIFT_COALESCE (NULL, '360');
inserir em aws_redshift_coalesce valores ('480', nulo);
inserir nos valores da AWS_REDSHIFT_COALESCE (NULL, '720');
inserir nos valores AWS_REDSHIFT_COALESCE (NULL, '1080');

Depois de inserir os dados, aplique a função Coalesce a ele usando a seguinte consulta:

Selecione Coalesce (First_Value, Second_Value)
de AWS_REDSHIFT_COALESCE
ordem por 1;

Ele gerará a seguinte saída:

240
360
480
720
1080
(5 linhas)

A 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)
de AWS_REDSHIFT_COALESCE
ordem por 1;

Esta consulta, quando executada, gerará a seguinte saída.

240
480
(2 linhas)

No 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)
de AWS_REDSHIFT_COALESCE
ordem por 1;

Esta consulta gerará o seguinte resultado quando executado:

360
720
1080
(3 linhas)

Na 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.