Função do servidor SQL ISNULL

Função do servidor SQL ISNULL

Um valor nulo no SQL Server refere -se a uma coluna cujo valor está faltando ou desconhecido. Ao trabalhar com bancos de dados, você geralmente encontrará valores nulos, dificultando o trabalho dos dados. Você pode resolver isso removendo os valores nulos ou substituindo -os por um valor específico.

Este artigo abordará uma função interna no SQL Server que permite substituir valores nulos por um valor definido.

Uso básico

A função SQL Server isNull retorna um valor especificado se uma expressão for um valor nulo ou retornar a expressão em caso contrário.

O trecho seguinte mostra a sintaxe para a função ISNULL.

isNull (expressão, substituir_value);

A função leva dois argumentos:

  1. Expressão - Isso especifica a expressão a ser avaliada quanto a um valor nulo.
  2. substituir_value - Isso especifica o valor a ser retornado se a expressão no primeiro argumento for avaliada como nula.

A função converte o tipo de dados do substituto_value no tipo de dados da expressão se forem de diferentes tipos. Portanto, verifique se o tipo de substituição_value pode ser convertido para o tipo de expressão.

Exemplos de SQL Server isNull ()

Vejamos alguns exemplos de como usar a função ISNULL.

Exemplo 1:

O exemplo abaixo usa a função isNull () para retornar um argumento se a expressão fornecida for nula.

Selecione ISNULL (NULL, 'NÃO NULL');

A consulta acima deve retornar a string 'não nula', pois o primeiro argumento é um valor nulo.

Exemplo 2:

Como mencionado anteriormente, a função isNull retorna o valor de reposição se a expressão for nula. No entanto, se não for nulo, a função retorna o valor da expressão.

Considere o exemplo mostrado abaixo:

Selecione ISNULL (100, 200);

A consulta deve retornar o valor da expressão, neste caso, 100, pois não avalia um valor nulo.

Exemplo 3:

Você também pode usar a função ISNULL com variáveis. Considere o exemplo da instrução SQL mostrada abaixo:

Declarar @expression varchar (50);
Declare @Replacement Varchar (25);
Set @expression = null;
Set @replacement = 'string';
Selecione ISNULL (@Expression, @Replacement);

Neste exemplo, o código acima deve retornar o valor armazenado pela variável @Replacement.

Exemplo 4:

Também podemos usar a função ISNULL para substituir valores nulos em uma tabela. Isso pode ser útil quando você precisa executar atualizações em uma tabela sem tornar as alterações permanentes no banco de dados.

Por exemplo, considere a tabela de clientes da Sample SalesDB. Ele contém valores nulos na coluna MiddleInitial.

Selecione o Top 10 * dos clientes;

Podemos substituir os valores nulos por N/A usando a função ISNULL, conforme mostrado no código de exemplo abaixo:

Selecione o 10 Top 10 FirstName, ISNULL (MiddleInitial, 'N/A') como inicial, o último nome dos clientes;

A consulta deve retornar os registros onde o valor da coluna MiddleInitial é substituído pela string "n \ a".

Um exemplo de saída é como mostrado:

Exemplo 5:

A função ISNULL vem em mãos quando você precisa executar operações como uma média para um conjunto de valores.

Por exemplo, podemos usar a função ISNULL para substituir valores nulos por 0 e executar uma média.

Considere o exemplo abaixo:

Selecione AVG (ISNULL (Price, 0)) como Média_price dos Produtos;

O exemplo acima deve retornar a média de todos os valores na coluna de preços do banco de dados. A função deve substituir todos os valores nulos na coluna por um 0, permitindo que você realize cálculos quase precisos.

preço médio
---------------------
548.3333

Isnull vs. É NULO

No SQL Server, há uma função chamada é nula. Ao contrário da função isNull (), determina se uma expressão é nula. Isso significa que ele retorna um valor booleano em vez de uma expressão.

O exemplo abaixo mostra o uso da instrução NULL no SQL Server.

Selecione o Top 10 * dos clientes onde o MiddleInitial é nulo;

Como a declaração nula retorna um valor booleano, o servidor SQL o usa para buscar todas as linhas onde a condição é verdadeira.

Um exemplo de resultado é como:

Conclusão

Neste guia, você entendeu como trabalhar com a função SQL Server isNull () para avaliar e substituir uma expressão nula.