Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да намеря кои колони нямат никакви данни (всички стойности са NULL)?

За една колона, count(ColumnName) връща броя на редовете, където ColumName не е нула:

select  count(TheColumn)
from    YourTable

Можете да генерирате заявка за всички колони. Според предложението на Martin можете да изключите колони, които не могат да бъдат null с is_nullable = 1 . Например:

select  'count(' + name + ') as ' + name + ', '
from    sys.columns
where   object_id = object_id('YourTable')
        and is_nullable = 1

Ако броят на таблиците е голям, можете да генерирате заявка за всички таблици по подобен начин. Списъкът с всички таблици е в sys.tables .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв е максималният брой знаци за NVARCHAR(MAX)?

  2. Как да импортирам .bak файл на SQL Server в MySQL?

  3. Изпълнение на задание на SQL Server Agent от съхранена процедура и връщане на резултат от заданието

  4. Извличане на дефиниция на колона за набор от резултати от запомнени процедури

  5. Прикачване на MDF файл без LDF файл