SQL中什么统计一张表中各个字段不为空值的条数?

例:数据库表内容SERIALNOObjectNoObjectTypeRelativeSum00010002nullnullnull00030004nullnull0007... 例:数据库表内容
SERIALNO ObjectNo ObjectType RelativeSum
0001 0002 null null
null 0003 0004 null
null 0007 0005 null

想得到的结果是
null
SERIALNO 2
ObjectNo 0
ObjectType 1
RelativeSum 3
如果上百个字段改什么处理?
展开
 我来答
althiy
推荐于2017-10-09 · TA获得超过293个赞
知道小有建树答主
回答量:533
采纳率:100%
帮助的人:388万
展开全部
declare @tableName nvarchar(20)
declare @colCount int
declare @colName nvarchar(100)
declare @i int
declare @sql nvarchar(500)

set @i=1
set @tableName='try_decimal'
drop table #a
create table #a
(
colCount int,
name nvarchar(100)
)

select @colCount=count(1) from syscolumns Where ID=OBJECT_ID(@tableName)
print @colCount
while @i<=@colCount
begin
select @colName=A.name from (select ROW_NUMBER() OVER(PARTITION BY ID ORDER BY name) rowNo,name from syscolumns Where ID=OBJECT_ID(@tableName) ) A where A.rowNo=@i
set @sql='insert into #a select count(1),'''+@colName+''' from '+@tableName+' where '+@colName+' is null'
print @sql
exec(@sql)
set @i=@i+1
end
select * from #a
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
253654522
2014-03-24 · TA获得超过138个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:186万
展开全部
select count(字段) from table
追问
这个我知道,如果一张表上百个字段你什么办
追答
100个字段也得这么写,谁提的这么奇葩的需求让谁写呗。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式