Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como descobrir quais colunas não possuem dados (todos os valores são NULL)?


Para uma única coluna, count(ColumnName) retorna o número de linhas em que ColumName não é nulo:
select  count(TheColumn)
from    YourTable

Você pode gerar uma consulta para todas as colunas. Por sugestão de Martin, você pode excluir colunas que não podem ser nulas com is_nullable = 1 . Por exemplo:
select  'count(' + name + ') as ' + name + ', '
from    sys.columns
where   object_id = object_id('YourTable')
        and is_nullable = 1

Se o número de tabelas for grande, você pode gerar uma consulta para todas as tabelas de maneira semelhante. A lista de todas as tabelas está em sys.tables .