繁体   English   中英

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

[英]How to locate all columns in all tables that have all NULL values?

我有旧的 SQL Server 数据库,它已经永远升级了。 我精简了数据库,只保留过去 4 年的信息。

由于其寿命长,有大量的列不再使用并且多年来已被弃用。

我正在寻找一种合理轻松的方法来定位所有表中只有 NULL 值的所有列。

除了编写一个小的桌面应用程序来做这件事,有没有办法通过 SQL 做到这一点?

是的,在每一列上选择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 输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM