首页 新闻 会员 周边 捐助

动态pivot把NULL变为0

0
悬赏园豆:10 [已解决问题] 解决于 2008-10-30 10:41

在sql server 2005中,

一个典型的行列转换中,结果列表中可能出现NULL,现在想把这些NULL值换成0,由于列比较多,目前想到一种方法是,对动态生成的每个列,通过编程加上isnull函数,不知道有没有更好的方法.

 

谢谢.

Jerry Qian的主页 Jerry Qian | 初学一级 | 园豆:19
提问于:2008-10-29 12:47
< >
分享
最佳答案
0

IsNull已经是很好的解决方法了。

RicoRui | 老鸟四级 |园豆:3663 | 2008-10-29 15:50
其他回答(3)
0

建议在数据库建表的时候把该字段为NULL的字段默认值设为0,这样在数据查询的时候速度也会加快,同时也解决了你现在的问题。

五千年文明 | 园豆:207 (菜鸟二级) | 2008-10-29 13:05
0

create table r_test
(
a int,
b int,
)

insert r_test values(0, null)
insert r_test values(1, 2)

select a, CASE  WHEN b is null THEN 0 ELSE b END as b from r_test
查询结果

0    0
1    2

eaglet | 园豆:17139 (专家六级) | 2008-10-30 06:37
0

Tianjon | 园豆:205 (菜鸟二级) | 2008-10-30 10:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册