Voltar às perguntas frequentes sobre Bancos de dados
CENTRAL DE AJUDA · FAQBancos de dados1 min de leitura

Como valores SQL NULL afetam filtros e comparações?

NULL representa um valor desconhecido ou ausente em SQL, então comparações comuns de igualdade não o encontram. Use IS NULL ou IS NOT NULL e decida explicitamente como valores ausentes afetam o resultado.

Bancos de dados

Use o predicado correto

Uma condição como coluna = NULL não é uma comparação normalmente verdadeira. SQL usa lógica de três valores; uma comparação com NULL é desconhecida e geralmente é excluída por WHERE.

Use IS NULL para selecionar linhas sem valor e IS NOT NULL para linhas com valor. Se um parâmetro puder ser nulo, construa a condição deliberadamente em vez de esperar que a igualdade trate ambos os casos.

Defina como dados ausentes devem se comportar

Decida se o valor ausente será excluído, receberá um padrão ou será relatado separadamente. COALESCE pode fornecer um fallback para exibição ou cálculo, desde que o padrão reflita o significado do campo.

Teste filtros com NULL, strings vazias e valores comuns; eles não são equivalentes. Revise também agregações, pois muitas funções ignoram NULL e isso pode mudar contagens ou médias.

Voltar às perguntas frequentes sobre Bancos de dados