将SQL语句查询出来的值转换为数字类型
我联合查询的多个SQL语句的多个值相加,其中有的值为NULL,最后直接相加的值也为NULL,如何可以将这查询出来的值转换为数字类型的。...
我联合查询的多个SQL语句的多个值相加,其中有的值为NULL,最后直接相加的值也为NULL,如何可以将这查询出来的值转换为数字类型的。
展开
3个回答
展开全部
ANSI规定,在一个表达式中如果有null值,则表达式返回null,
如:1+2+3+null,我们本希望它等于6,结果却等于null,
解决方法就是用isnull()函数来剔除null值,
如:1+2+3+isnull(变量名,0);
但是,如果表达式中使用了聚合函数,比如sum()函数,则不需要这样转换,因为sum()函数会自动剔除null值,
比如以下的语句可以得出正确的值,尽管字段中有null值.
select 1+2+3+sum(字段名) from table.
如:1+2+3+null,我们本希望它等于6,结果却等于null,
解决方法就是用isnull()函数来剔除null值,
如:1+2+3+isnull(变量名,0);
但是,如果表达式中使用了聚合函数,比如sum()函数,则不需要这样转换,因为sum()函数会自动剔除null值,
比如以下的语句可以得出正确的值,尽管字段中有null值.
select 1+2+3+sum(字段名) from table.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
isnull(字段名,0)+isnull(字段名,0)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sum(nvl(字段名,0)),这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |