Как проверить, есть ли NULL во всей таблице (во всех столбцах) в T-SQL

Мне интересно, могу ли я запустить специальный запрос, чтобы увидеть, содержит ли таблица какие-либо значения NULL в любом из ее столбцов. В таблице более 100 столбцов, поэтому делать это вручную было бы огромной болью.


person intA    schedule 16.11.2015    source источник
comment
Все (или, по крайней мере, большинство) 100+ столбцов разрешают значения NULL?   -  person Amit    schedule 16.11.2015


Ответы (1)


Вы можете попробовать так:

DECLARE @tb NVARCHAR(255) = N'dbo.[table]';

DECLARE @sql NVARCHAR(MAX) = N'SELECT * FROM ' + @tb
    + ' WHERE 1 = 0';

SELECT @sql += N' OR ' + QUOTENAME(name) + ' IS NULL'
    FROM sys.columns 
    WHERE [object_id] = OBJECT_ID(@tb);

EXEC sp_executesql @sql;

Источник

person Rahul Tripathi    schedule 16.11.2015