Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL:Wybierz kolumny tylko z wartościami NULL

Oto wersja sql 2005 lub nowsza:Zastąp ADDR_Address nazwą swojej tabeli.

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. Utwórz zadanie agenta serwera SQL za pomocą programu SSMS

  2. Pomyślnie nawiązano połączenie z serwerem, ale podczas uzgadniania przed logowaniem wystąpił błąd

  3. Hierarchiczna lista typów zdarzeń wyzwalających w SQL Server 2017

  4. Jak używać OBJECT_ID() na obiektach między bazami danych w SQL Server

  5. Instrukcja ALTER TABLE była w konflikcie z ograniczeniem FOREIGN KEY