Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the breadcrumb-navxt domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/devtools/public_html/blog/wp-includes/functions.php on line 6131

Deprecated: A função WP_Dependencies->add_data() foi chamada com um argumento que está obsoleto desde a versão 6.9.0! Os comentários condicionais do IE são ignorados por todos os navegadores compatíveis. in /home/devtools/public_html/blog/wp-includes/functions.php on line 6131
IFNULL no SQL Server: ISNULL

IFNULL no SQL Server: ISNULL

A ocorrência de valores nulos em banco de dados é algo normal, porém, o tratamento do retorno destes `valores` é algo muito importante. O padrão SQL ANSI  nos disponibiliza para este tratamento a função Coalesce, que é encontrada na maiores dos bancos de dados existentes, porém, normalmente cada empresa proprietária de SGBD’s implementa suas próprias funções, como é o caso da Microsoft, com o uso do ISNULL, da Oracle, com o NVL e etc.

Já abordei aqui no blog como trabalhar com valores nulos no PostgreSQL:

No SQL Server, como pontuei acima temos o ISNULL, vamos conhecer sua syntax:

“ISNULL ( check_expression , replacement_value )”

Diferente do Coalesce, o ISNULL aceita somente dois parâmetros, o parâmetro a ser averiguado se é nulo e, o valor que será retornado caso o primeiro parâmetro seja realmente nulo. Outro diferencial é que, o ISNULL retorna tipo de dados diferente do parâmetro de checagem, desde que estes sejam “implicitamente conversíveis”, vejamos um exemplo prático com nossa conhecida tabela produto:

Tabela: produto:

 select  id_produto, nome, isnull(qtd,0)  
 from produto ;  

ID_PRODUTO  NOME           COLUMN_2
———-         ———          ——–
1                    Produto A     10
2                    Produto B      0
3                    Produto C     30

Como a quantidade do produto 2 era nula, o valor foi substituído por 0 (Zero). Este tratamento é importantíssimo no uso de cálculos, pois, ao se somar registros que possuam valores nulos, o resultado será nulo, cuidado!

Mas afinal, qual usar, ISNULL ou Coalesce? Há quem diga que o ISNULL mais rápido que o Coalesce, mas há contradições e, os resultados não são expressivos, então, a escolha é sua!

Um grande abraço.

2 comentários em “IFNULL no SQL Server: ISNULL”

  1. Olá amigo(a),

    Infelizmente não posso responder com exatidão pois, nunca realizei nenhum curso com a empresa, mas, observando as discussões que localizei pela web, uns relatam histórias de amor, outros de ódio.

    Mas uma coisa é unânime, sempre onde questionado sobre a qualidade dos cursos, a Caelum sempre é citada como empresa concorrente em qualidade.

    Grande abraço.

Deixe um comentário