我的想法是:
例:
update 表1 set A = B+C
现在B有数,C为null,这条语句指行后无法更新,因为C为空。
能不能判断一下B,C中至少有一个不为null的,这样的语句,因为如果我改成
A= nvl(B,0)+nvl(C,0)这样的话如果BC同时为空那么这样的结果对我就不是需要的。反面会产生不必要的拉圾数据,除非B+C两个数是一样的,一正一负相抵销。
可能表达的不是太清楚,基本上是这个意思了,我想通过判断表达式中至少有一个不为空这样在对其进行nvl判断,各位还有什么好的方法,请指教!!!!
例:
update 表1 set A = B+C
现在B有数,C为null,这条语句指行后无法更新,因为C为空。
能不能判断一下B,C中至少有一个不为null的,这样的语句,因为如果我改成
A= nvl(B,0)+nvl(C,0)这样的话如果BC同时为空那么这样的结果对我就不是需要的。反面会产生不必要的拉圾数据,除非B+C两个数是一样的,一正一负相抵销。
可能表达的不是太清楚,基本上是这个意思了,我想通过判断表达式中至少有一个不为空这样在对其进行nvl判断,各位还有什么好的方法,请指教!!!!
where b is not null or c is not null;
where b is not null or c is not null;
update 表1 set A = nvl(B,0)+nvl(C,0)
where nvl(B,' ')!= ' ' or nvl(C,' ')!= ' ' ;
谁还有更好的方法???请指教!
其实用了 or 效率就不会太高,不知道用where nvl(B,0)+nvl(C,0)!=0;是否会好点
但null跟0不是一回事啊
这个如何