+ -
当前位置:首页 → 问答吧 → SQL用什么方法统计出一行数据里边有几个空值比较好

SQL用什么方法统计出一行数据里边有几个空值比较好

时间:2011-12-01

来源:互联网

SQL用什么方法统计出一行数据里边有几个空值比较好?

作者: ace_yong   发布时间: 2011-12-01

测试一下。

作者: liangCK   发布时间: 2011-12-01

什么叫做有几个空值?
你一行里有几个字段?

作者: qianjin036a   发布时间: 2011-12-01

1、sum(case when ... then 1 else 0)+(...) 统计每一列

2、将表数据列转行,group by 统计。

作者: AcHerat   发布时间: 2011-12-01

这个意思?
SQL code
select 
(case when 列1 is null then 1 else 0 end)+
(case when 列2 is null then 1 else 0 end)+
(case when 列3 is null then 1 else 0 end)+
(case when 列4 is null then 1 else 0 end)+
....
from tb

作者: qianjin036a   发布时间: 2011-12-01

sum(case when col is null then 1 else 0)...

作者: fredrickhu   发布时间: 2011-12-01

SQL code

create table tb 
(
col1 varchar(10),
col2 varchar(10),
col3 varchar(10),
col4 varchar(10),
col5 varchar(10)
)

insert into tb
select 'col',null,null,'col4','col5'

GO
declare @String varchar(max)
SELECT @String=CONVERT(varchar(20),isnull(col1,'@'))+CONVERT(varchar(20),isnull(col2,'@'))+CONVERT(varchar(20),isnull(col3,'@'))
      +CONVERT(varchar(20),isnull(col4,'@'))+CONVERT(varchar(20),isnull(col5,'@'))
from tb

select datalength(@String)-datalength(REPLACE(@String,'@','')) as 'NULL值个数'

GO
DROP TABLE TB


作者: zouxian   发布时间: 2011-12-01