如何找到所有具有所有NULL值的表中的所有列?

时间:2016-05-13 21:35:07

标签: sql sql-server sql-server-2014

我有永久升级的旧SQL Server数据库。我把数据库削减了,只保留了4年的信息。

由于其使用寿命长,有大量的色谱柱不再使用,多年来一直被弃用。

我希望找到一种合理无痛的方法来查找所有只有NULL值的表中的所有列。

除了编写一个小桌面应用程序之外,还有办法通过SQL吗?

1 个答案:

答案 0 :(得分:1)

是的,在每列上选择count()。那些返回0的人只有null个值。

像这样:

 select count(col1) col1 from mytable

对每个表和列重复。

您可以使用以下语句生成此类SQL语句:

SELECT 'SELECT COUNT(' + COLUMN_NAME + ') AS COLUMN_NAME FROM ' + TABLE_NAME + ';'
FROM INFORMATION_SCHEMA.COLUMNS;

获取上述查询的输出并将其作为一批SQL SELECT语句执行,并检查结果,找到所有0个输出。