O SQL Server Coalesce

O SQL Server Coalesce

De tempos em tempos, encontramos uma situação em que precisamos lidar com valores nulos em um banco de dados. Este tutorial analisará uma importante função SQL Server que permite comparar valores e retornar o primeiro valor não nulo no conjunto.

O que é um valor nulo?

Podemos definir um valor nulo como um valor ausente ou sem valor. No SQL Server, um valor nulo refere -se a uma coluna cujo valor é desconhecido ou ausente. Portanto, um zero ou uma corda vazia não é um valor nulo.

Função Coalesce do SQL Server

A função coalesce () no servidor SQL é usada para avaliar sequencialmente um conjunto de valores e retornar o primeiro valor não nulo do conjunto.

Você pode se perguntar, por que eu preciso usar a função coalesce () sobre isnull ()?

Às vezes, você pode usar a função Coalesce () como uma alternativa a IsNull (). A vantagem de coalesce sobre isnull é que ele aceita mais de dois parâmetros.

A sintaxe da função coalesce () é como mostrado:

Coalesce (expressão1, expressão2,… expressãon)

A função leva expressões escalares e retorna a primeira expressão não nula do conjunto fornecido. Se todas as expressões avaliarem para NULL, a função também retornará um valor nulo, indicando que não há valor não nulo.

Você pode usar a função Coalesce em cláusulas SQL que aceitam expressões como selecionar, onde, grupo, etc.

Propriedades do SQL Server Coalesce () Função

A função Coalesce contém as seguintes propriedades:

  1. As expressões escalares devem ser de um tipo semelhante.
  2. A função sempre avalia um número inteiro primeiro.
  3. Pode levar mais do que uma única expressão

Vejamos vários exemplos de uso da função Coalesce () no SQL Server.

Exemplo 1

O exemplo a seguir mostra como usar a função Coalesce para retornar o primeiro valor não nulo do conjunto fornecido.

Selecione Coalesce (NULL, 'NULL', NULL);

O código acima deve retornar a string 'NULL'.

Exemplo 2

Você também pode usar a função Coalesce em um conjunto de valores inteiros, como mostrado no código de exemplo abaixo:

Selecione Coalesce (nulo, 1, 2, 3, 4, 5, nulo);

Como o primeiro valor não nulo no conjunto é 1, a função deve retornar 1 como:

Exemplo 3

O que acontece se usarmos a função Coalesce com expressões de um tipo diferente? Considere o código de exemplo abaixo:

Selecione Coalesce (NULL, 'NULL', 100, NULL);

Se você executar o código acima, o SQL Server retornará uma mensagem de erro como:

Exemplo 4

Um bom exemplo de caso de uso da função Coalesce é ao executar concatenação de string. Considere a consulta de exemplo abaixo:

Use salesdb;
Selecione FirstName + " + MiddleInitial + LastName FullName dos clientes;

Você percebe que a consulta acima retorna linhas de valores nulos, como mostrado:

Para resolver isso, podemos usar a função Coalesce, como mostrado na consulta abaixo:

Use salesdb;
Selecione FirstName + " + Coalesce (MiddleInitial") + Nome FullName dos clientes;

O código deve eliminar os valores nulos, como mostrado na saída abaixo:

Exemplo 5

Você pode usar a função Coalesce para substituir valores nulos por novos valores.

Por exemplo, considere a consulta de exemplo abaixo:

Use salesdb;
Selecione * dos clientes
Encomendar por clientID;

Isso retorna as colunas na tabela de clientes. Você fará valores nulos na coluna Middleinital:

Em vez de um valor nulo, podemos usar a função Coalesce para retornar a string “vazia 'onde o MiddleInitial está faltando.

Um exemplo de consulta é como mostrado:

Use salesdb;
Selecione CustomerID, FirstName, Coalesce (MiddleInitial, 'Missing') como MiddleInitial, SalvName dos clientes
Encomendar por clientID;

O código acima substitui os valores nulos pela string "ausente", como mostrado:

Compare coalesce () vs casos

Se você usou a expressão do caso no SQL Server, percebe que a função Coalesce () se comporta de maneira semelhante. Isso ocorre porque a função coalesce () é uma versão mais compacta e minimizada da instrução CASE. É menos código e muito legível.

Empacotando!

Este guia cobriu o básico do uso da função SQL Server Coalesce para obter o primeiro não nulo de um determinado conjunto. Também demonstramos exemplos de casos de uso da função Coalesce.

Obrigado por ler e verificar mais tutoriais do SQL Server.