总共有100列要在所有列中查找空值的地方。
FindNull
函数可以帮助我将'null'
转换为'1'以便对其进行计数
这是我的代码:
(select totalAmountOfNull =
(select count(*) from (select
countOfNull=
[dmt].[findNull](column1) +
[dmt].[findNull](column2) +
[dmt].[findNull](column3) )
from dmt.tableName ) as t10 where t10.totalAmountOfNull = 3
由于“ 3”,答案是错误的。主要问题是我在一个表中确实有100列,并且希望总共查找所有空值。但是这段代码给了我错误的数字。
答案 0 :(得分:1)
在SQL Server中,您可以使用apply
:
select count(*)
from t cross apply
(values (t.col1), (t.col2), (t.col3), . . . ) v(col)
where v.col is null;
您需要列出values()
子句中的所有列。