我有永久升级的旧SQL Server数据库。我把数据库削减了,只保留了4年的信息。
由于其使用寿命长,有大量的色谱柱不再使用,多年来一直被弃用。
我希望找到一种合理无痛的方法来查找所有只有NULL值的表中的所有列。
除了编写一个小桌面应用程序之外,还有办法通过SQL吗?
答案 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个输出。