sql查询中有一列中有NULL的数据,如何判断不为空的时候才进行操作?
比如有a,b两列,ab11263nullselecta+bfromXXX这样的话第3条就是null了,如何判断在=null的时候把null替换成0?...
比如有a,b两列,
a b
1 1
2 6
3 null
select a+b from XXX
这样的话第3条就是null了,如何判断在=null的时候把null替换成0? 展开
a b
1 1
2 6
3 null
select a+b from XXX
这样的话第3条就是null了,如何判断在=null的时候把null替换成0? 展开
3个回答
展开全部
在数据库系统中,空值是(什么也没有)。
解释:
所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字。
空 (NULL)
值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串也是一个确定的值,所以就算定义了 NOT NULL 也可以被写入。
解释:
所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字。
空 (NULL)
值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串也是一个确定的值,所以就算定义了 NOT NULL 也可以被写入。
展开全部
sql server
select isnull(a,0) + isnull(b,0) from xxx
oracle 用
select nvl(a,0) + nvl(b,0) from xxx
select isnull(a,0) + isnull(b,0) from xxx
oracle 用
select nvl(a,0) + nvl(b,0) from xxx
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a is null
b is null
b is null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询