Estou procurando uma função fácil para obter o número de conjuntos de dados (de qualquer tabela) contendo valores NULL. Não é importante quantas colunas estão envolvidas.
Por exemplo:
CREATE TABLE tab1 (
id INTEGER PRIMARY KEY,
dat1 VARCHAR,
dat2 VARCHAR);
INSERT INTO tab1 VALUES
(1, NULL, 'abc'),
(2, 'abc', NULL),
(3, 'abc', 'abc');
SELECT count(*)
FROM tab1
WHERE id IS NULL OR dat1 IS NULL OR dat2 IS NULL;
-- 2
(Eu sei que as chaves primárias provavelmente não terão NULLs;)
Minha solução atual usa R para construir a consulta. Alguma sugestão?
Você precisará usar SQL dinâmico para conseguir isso, talvez assim:
banco de ensaio:
função:
consulta:
resultado:
Adicione qualquer coisa a NULL e o resultado será NULL. Então eu iria usando:
Mas que é mais fácil de escrever, não acho que seja mais rápido do que sua solução.