DECLARE @table NVARCHAR(512);
SET @table = N'dbo.tablename';
DECLARE @sql NVARCHAR(MAX);
SELECT @sql = N'';
SELECT @sql = @sql + QUOTENAME(name)
+ ' = SUM(CASE WHEN ' + QUOTENAME(name) + ' IS NULL THEN 1 ELSE 0 END),'
FROM sys.columns
WHERE object_id = OBJECT_ID(@table)
AND is_nullable = 1;
SELECT @sql = 'SELECT ' + @sql + ' Total_Count = COUNT(*)
FROM ' + @table + ';';
EXEC sp_executesql @sql;
0 से निकलने वाले किसी भी कॉलम में सभी नल होते हैं (जब तक कि Total_Count कॉलम भी 0 से बाहर न आ जाए, जिस स्थिति में तालिका खाली हो)। ध्यान दें कि यह क्वेरी एक बड़ी टेबल पर काफी महंगी होगी।