为什么SELECT 查询结果为零???10+NULL=10?null?

lmy 2000-07-27 09:16:00
SELECT A.FIELD1,A.FIELD2,
A.FIELD1*B.FIELD1+A.FIELD2*B.FIELD2 as Cresult
FROM .....
WHERE ...
如果A,B表中的某一段为NULL的话,结果就会为NULL,
例:A.fIELD1=null b.field=1 B.FIELD2=1 A.FIELD1=10
而结果却为NULL;有方法解决吗?





...全文
240 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmy 2000-07-31
  • 打赏
  • 举报
回复
huntout的办法我试过了,在LOCAT SQL
语句中不支持此函数,我只能不UPDATE
不知那位大虾有其他高见?
pjy 2000-07-27
  • 打赏
  • 举报
回复
huntout的方法可以满足。使用isnull()函数可以将你选择的列是NULL时设置成一个你设定的缺省值!
lmy 2000-07-27
  • 打赏
  • 举报
回复
多谢各位,我用的是LOCAL SQL
所以HUNTOUT
老兄的可以一试
wwwunix 2000-07-27
  • 打赏
  • 举报
回复
建议将这条SELECT语句改写成存储过程,并在其中加入判断NULL的语句即可。
huntout 2000-07-27
  • 打赏
  • 举报
回复
ISNULL(check_expression, replacement_value)
Replaces NULL with the specified replacement value.
so you can do as below:

isnull(A.FIELD1, 0) * isnull(B.FIELD1, 0) + isnull(A.FIELD2, 0) * isnull(B.FIELD2, 0)
lmy 2000-07-27
  • 打赏
  • 举报
回复
有办法吗?
beat0430 2000-07-27
  • 打赏
  • 举报
回复
在SQL中规定,NULL值参加的运算结果均为NULL。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧