Pular para o conteúdo

Valores ausentes em SQL, contagem e total ainda não determinado

Distinga NULL, zero confirmado, média dos valores conhecidos e subtotal que ainda não representa o total completo.

Uma soma calculada não garante que todos os valores estejam disponíveis. Este laboratório distingue linhas existentes, valores conhecidos e zeros confirmados. O objetivo é impedir que um subtotal seja apresentado como total completo ou que a ausência de informação seja tratada como valor zero.

Oito observações fictícias

O grupo A contém R$ 100, R$ 200, um valor ausente e um zero confirmado. B contém dois valores ausentes. C contém dois zeros confirmados. Os dados são inteiros em reais, sem conversão de textos monetários ou aproximação de grandes números.

Grupo Linhas Valores conhecidos Soma SQL Média dos conhecidos
A 4 3 300 100
B 2 0 NULL NULL
C 2 2 0 0

Quando o resultado muda de significado

COUNT com asterisco conta linhas, enquanto COUNT sobre a coluna de valores desconsidera NULL. O zero de A continua contado como valor conhecido. AVG calcula a média dos valores não nulos, resultando em R$ 100 para A.

Substituir o ausente por zero antes da média gera R$ 75. Isso altera a premissa, não completa a documentação. A média de R$ 100 é dos três valores conhecidos e também não deve ser apresentada como média comprovada das quatro observações.

No grupo B, SUM retorna NULL. A função TOTAL do SQLite retorna zero nessa situação, mas esse comportamento técnico não prova saldo econômico nulo. C, ao contrário, contém dois zeros expressos. As consultas preservam essa diferença com a contagem de conhecidos.

Fechamento com pendência

Há oito linhas, cinco valores conhecidos e três ausentes. A soma conhecida é de R$ 300. O total de todas as observações permanece indeterminado. O grupo A também fica pendente, enquanto C tem total completo de zero. Nenhuma conclusão sobre erro, fraude ou recuperação de crédito decorre dessas ausências isoladas.

O pacote oferece três tabelas, consultas SQL, verificador, instruções e manifesto. O programa executa as agregações em memória e testa explicitamente a diferença entre NULL e zero. Alterar as premissas exige revisar a origem da informação.

A referência é a documentação de agregações do SQLite. Consulte também a assistência técnica contábil.

Falar pelo WhatsApp