Do you want to find all the specify column is null?
;WITH tb(ID,col1,col2,col3,col4,col5,col6,col7,col8,col9)AS(
SELECT 1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL UNION
SELECT 2,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,NULL UNION
SELECT 3,1,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL UNION
SELECT 4,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
)
SELECT * FROM tb
WHERE COALESCE(col1,col2,col3,col3,col5,col6,col7,col8,col9) IS NULL
will return id=4
ID col1 col2 col3 col4 col5 col6 col7 col8 col9
----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
4 NULL NULL NULL NULL NULL NULL NULL NULL NULL
To check which column is NULL with dynamic satement:
CREATE TABLE tb(ID INT ,col1 INT ,col2 INT ,col3 INT ,col4 INT ,col5 INT ,col6 INT ,col7 INT ,col8 INT ,col9 INT )
INSERT INTO tb
SELECT 1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL UNION
SELECT 2,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,NULL UNION
SELECT 3,1,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL UNION
SELECT 4,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
DECLARE @cols NVARCHAR(max),@sql NVARCHAR(max)
SELECT @cols=ISNULL(@cols+',','')+'('''+c.name+ ''',['+c.name+'])' FROM sys.all_columns AS c WHERE OBJECT_NAME(c.object_id)='tb'
PRINT @cols
SET @sql='
SELECT ID,c.col_title,CASE WHEN c.col_value IS NULL THEN ''NULL NULL'' ELSE ''HAS VALUE'' END AS COMMENT FROM dbo.tb
CROSS APPLY(VALUES'+@cols+') c(col_title,col_value)'
PRINT @sql
EXEC (@sql)
ID col_title COMMENT
----------- --------- ---------
1 col1 HAS VALUE
1 col2 NULL NULL
1 col3 NULL NULL
1 col4 NULL NULL
1 col5 NULL NULL
1 col6 NULL NULL
1 col7 NULL NULL
1 col8 NULL NULL
1 col9 NULL NULL
1 ID HAS VALUE
2 col1 NULL NULL
2 col2 NULL NULL
2 col3 NULL NULL
2 col4 NULL NULL
2 col5 NULL NULL
2 col6 NULL NULL
2 col7 HAS VALUE
2 col8 NULL NULL
2 col9 NULL NULL
2 ID HAS VALUE
3 col1 HAS VALUE
3 col2 HAS VALUE
3 col3 NULL NULL
3 col4 NULL NULL
3 col5 NULL NULL
3 col6 NULL NULL
3 col7 NULL NULL
3 col8 NULL NULL
3 col9 NULL NULL
3 ID HAS VALUE
4 col1 NULL NULL
4 col2 NULL NULL
4 col3 NULL NULL
4 col4 NULL NULL
4 col5 NULL NULL
4 col6 NULL NULL
4 col7 NULL NULL
4 col8 NULL NULL
4 col9 NULL NULL
4 ID HAS VALUE