interbase的一个菜问题。(100分)

  • 主题发起人 主题发起人 rss
  • 开始时间 开始时间
R

rss

Unregistered / Unconfirmed
GUEST, unregistred user!
一个Interbase库,有三个数字型字段Numeric(15,3)a,b,c
如求c=a-b, (update test set c=a-b;)
a或b,不能有空值,否则不能计算出结果,为0可以,为什么?
再或求c=a/b (update test set c=a/b;)
如a,b皆为0,即0/0,则提示出错,为什么?怎样解决?


 
1.没用过IB,不过应该可以给字段设置"默认值"=0.
2.0/0当然要出错! SQL后面加个where b<>0 就可以嘛!
 
update test set c=isnull(a,0)+isnull(b,0);
interbase应该支持isnull函数吧? 要不就有替代函数:-)
 
0不能为除数,我该上小学去了!
 
在sybase中,可以这样
update test set a=0 where a=null
update test set b=0 where b=null
update test set c=a+b
我想在interbase中应该可以或类似方法
至于0/0的问题,我和cAkk意见一致
(有点小疑问,b为实数,能用b<>0?)
 
update test set c=isnull(a,0)+isnull(b,0) where isnull(b,0)<>0
 
后退
顶部