sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo encontrar qué columnas no tienen datos (todos los valores son NULL)?

Para una sola columna, count(ColumnName) devuelve el número de filas donde ColumName no es nulo:

select  count(TheColumn)
from    YourTable

Puede generar una consulta para todas las columnas. Según la sugerencia de Martin, puede excluir columnas que no pueden ser nulas con is_nullable = 1 . Por ejemplo:

select  'count(' + name + ') as ' + name + ', '
from    sys.columns
where   object_id = object_id('YourTable')
        and is_nullable = 1

Si el número de tablas es grande, puede generar una consulta para todas las tablas de forma similar. La lista de todas las tablas está en sys.tables .