在sql server 2005中,
一个典型的行列转换中,结果列表中可能出现NULL,现在想把这些NULL值换成0,由于列比较多,目前想到一种方法是,对动态生成的每个列,通过编程加上isnull函数,不知道有没有更好的方法.
谢谢.
IsNull已经是很好的解决方法了。
建议在数据库建表的时候把该字段为NULL的字段默认值设为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