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

SQL:केवल NULL मान वाले कॉलम चुनें

यहाँ sql 2005 या बाद का संस्करण है:ADDR_Address को अपने टैबलेटनाम से बदलें।

declare @col varchar(255), @cmd varchar(max)

DECLARE getinfo cursor for
SELECT c.name FROM sys.tables t JOIN sys.columns c ON t.Object_ID = c.Object_ID
WHERE t.Name = 'ADDR_Address'

OPEN getinfo

FETCH NEXT FROM getinfo into @col

WHILE @@FETCH_STATUS = 0
BEGIN
    SELECT @cmd = 'IF NOT EXISTS (SELECT top 1 * FROM ADDR_Address WHERE [' + @col + '] IS NOT NULL) BEGIN print ''' + @col + ''' end'
    EXEC(@cmd)

    FETCH NEXT FROM getinfo into @col
END

CLOSE getinfo
DEALLOCATE getinfo


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक यूडीएफ एक सबक्वायरी से इतना धीमा क्यों है?

  2. 13 SQL सर्वर सुरक्षा सर्वोत्तम अभ्यास

  3. SQL सर्वर में LEFT ANTI SEMI JOIN कैसे करें?

  4. ADO.net SqlTransaction प्रदर्शन में सुधार करता है

  5. वेब ऐप से क्वेरी टाइम आउट लेकिन प्रबंधन स्टूडियो से ठीक चलता है