sql >> Databáze >  >> RDS >> Sqlserver

SQL:Vyberte pouze sloupce s hodnotami NULL

Zde je verze sql 2005 nebo novější:Nahraďte ADDR_Address svým názvem tabulky.

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. Úvod do Failover pro replikaci MySQL – blog 101

  2. Jak nastavit výchozí uživatelské heslo v PostgreSQL

  3. Cizí klíč ke složenému klíči

  4. ERROR 2002 (HY000):Nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2)