SQL存储过程 - 计算一行中特定的非空列

时间:2010-09-13 10:07:22

标签: sql stored-procedures

我有一个包含多个列和行的表 - 我需要从中选择两个非空的列的计数。

换句话说:

LoadID,StudyID,数据,结构下,状态,进步,错误,文件类型

选择非空数据的计数和结构,其中LoadID =数字

我知道我可以做嵌套的IF,但我想知道是否有更简洁,更简洁的方法来做到这一点?

此致 Byron Cobb

2 个答案:

答案 0 :(得分:1)

select case when Data is null then 1 else 0 end + 
case when Structure is null then 1 else 0 end as null_columns_amount 
from YourTable 
where LoadID = ?

答案 1 :(得分:-1)

select count(*) from table where data != null and structure !=null and loadid = a number