3
respostas

Contar a quantidade de registros vazios

Como contar a quantidade de registros vazios numa tabela no sql server.

3 respostas

Olá,

O que você chama de registros vazios? Que tenha alguma coluna com nada? Você poderia dar um count com uma cláusula de where conjunta, do tipo:

SELECT COUNT(*)
FROM MINHA_TABELA
WHERE COL_A IS NULL OR COL_B IS NULL OR COL_C IS NULL

Nesse caso ele contaria todas as linhas em que COL_A, COL_B ou COL_C são nulas.

Abs

Olá Bruno,

isso, seria uma consulta em uma tabela com diversas colunas que retornasse a quantidade de registros onde estivesse NULL, sem nenhum dado.

Humm, SQL te permite ser bem criativa nas queries, mas uma query funcionar não necessariamente quer dizer que você esteja fazendo da forma mais eficiente a sua análise. Se você acredita que vários registros podem ser NULL, é provável que seu processo de gerar a base precisa ser revisto ou tratar esse tipo de dado antes/após a consulta.

Em todo caso, abaixo segue um exemplo de consulta que resolva o (que entendi do) seu caso, ainda que não seja algo que recomendaria como uma consulta padrão.

# imagine uma tabela com 3 colunas: COL_A, COL_B, COL_C
SELECT 
    SUM(CASE WHEN COL_A IS NULL THEN 1 ELSE 0 END) AS NULL_A, #para cada registro NULL, a coluna NULL_A criada irá somar 1
    SUM(CASE WHEN COL_A IS NULL THEN 1 ELSE 0 END) AS NULL_B,
    SUM(CASE WHEN COL_A IS NULL THEN 1 ELSE 0 END) AS NULL_C    
FROM MINHA_TABELA

No exemplo acima você terá um contador de quantos valores NULL você tem em cada coluna, caso você queria saber o total é só somar as 3 colunas, e ai se quiser coisas mais complexas precisa realizar novas operações na query (tipo 2 colunas NULL simultaneamente).

Abs