我正在尋求從SQL Server 2005上開發的遺留系統中清理遷移項目中的數據,但業務的第一順序是要弄清楚哪些列不是'沒有真正使用。SQL Server查詢返回表的字段中的空內容的百分比
我的方法背後的一般邏輯是識別大多數爲空白的列(即大多數或所有行包含該列中的空值,在該表中)。這將作爲一個存儲過程,其中理想的輸出會是這樣執行的:
TABLE: contacts (10000 records)
---------------------------------
FIELD: id | 0 (0%) Null Records
FIELD: username | 0 (0%) Null Records
FIELD: phonenumber | 8,200 (82%) Null Records
FIELD: email | 300 (3%) Null records
FIELD: icq | 9,900 (99%) Null Records
FIELD: zip | 100 (1%) Null Records
這裏的陷阱:一些表有超過100列,做到了真正的鑰匙通過的列是程序循環給定的表,所以我不必鍵入一長串字符串來運行查詢。如何做到這一點的任何幫助將是偉大的,
謝謝。
'SELECT * FROM YourDatabase.INFORMATION_SCHEMA.COLUMNS' – 2012-01-11 05:01:39