
展开全部
将空值转换为0, 然后再相加, oracle里用nvl(a,0)+nvl(b,0) 。 db2里用value(a,0)+value(b,0)
追问
比如a是工资 b是提成 这两列相加算每人工资 不是每个人都有提成 所以里面有空的 我是用sql
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是想两列合计相加么?还是只是同一记录两列相加
两列合计相加:
select sum(isnull(a,0))+sum(isnull(b,0)) from table
同一记录两列相加:
select isnull(a,0)+isnull(b,0) from table
两列合计相加:
select sum(isnull(a,0))+sum(isnull(b,0)) from table
同一记录两列相加:
select isnull(a,0)+isnull(b,0) from table
更多追问追答
追问
比如a是工资 b是提成 这两列相加算每人工资 不是每个人都有提成 所以里面有空的
追答
那就用这种写法,
select isnull(a,0)+isnull(b,0) from table
但要清楚,NULL不等于‘’,这是两种不同的类型
如果你是用空字符‘’,那就要用转换语句,case when b='' then 0 else b end b
完整就是
select isnull(a,0)+case when ltrim(rtrim(b))='' then 0 else b end from table
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空值+空值?还是转化成数字相加?
追问
比如a是工资 b是提成 这两列相加算每人工资 不是每个人都有提成 所以里面有空的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询