Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

उन फ़ील्ड को खोजें जिनका उपयोग नहीं किया गया है (सभी नल हैं)

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 से बाहर न आ जाए, जिस स्थिति में तालिका खाली हो)। ध्यान दें कि यह क्वेरी एक बड़ी टेबल पर काफी महंगी होगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर पदानुक्रम के बारे में प्रश्न गहराई-प्रथम प्रदर्शन

  2. लिंक किए गए सर्वर के लिए OLE DB प्रदाता Microsoft.Jet.OLEDB.4.0 का एक उदाहरण नहीं बना सकता नल

  3. बल्क इंसर्ट का उपयोग करते समय कुछ स्तंभों पर ध्यान न दें

  4. एसक्यूएल सर्वर यूनियन लेकिन ऑर्डर रखें

  5. मैं SQL सर्वर में एक sql डेटा फ़ाइल कैसे आयात करूं?