Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL:Pilih kolom dengan nilai NULL saja

Ini adalah sql 2005 atau versi yang lebih baru:Ganti ADDR_Address dengan nama tabel Anda.

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. Menggunakan kondisi if dalam menyisipkan SQL Server

  2. Memanggil prosedur tersimpan dengan nilai kembali

  3. PADA ZONA WAKTU – fitur favorit baru di SQL Server 2016

  4. Bagaimana batasan kunci asing dapat dinonaktifkan sementara menggunakan T-SQL?

  5. Ambil definisi kolom untuk kumpulan hasil prosedur tersimpan