免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1979 | 回复: 9
打印 上一主题 下一主题

sum 出 -nan(7ffffffffffff) ???? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-04 00:09 |只看该作者 |倒序浏览
在SCO 下 用esql编程 sum 一个浮点型的字段到一个变量,如果没有记录则这个变量的值为-nan(7ffffffffffff) 为什么?应该是0 才对啊

在AIX  下正常是0

论坛徽章:
0
2 [报告]
发表于 2003-09-04 08:02 |只看该作者

sum 出 -nan(7ffffffffffff) ????

是不是因为空值?

论坛徽章:
0
3 [报告]
发表于 2003-09-04 10:00 |只看该作者

sum 出 -nan(7ffffffffffff) ????

就是因为NULL的问题,你把你的SUM改成

NVL(sum(flo_....),0 ) 再看看。

论坛徽章:
0
4 [报告]
发表于 2003-09-04 10:01 |只看该作者

sum 出 -nan(7ffffffffffff) ????

以前也出现过同样的问题,好象是空值引起的。后来使用以下方法解决,以供参考:
  select count(*),sum(val) into $p_count,$p_sum from tablename where *
   if(p_count==0) p_sum=0.00;

论坛徽章:
0
5 [报告]
发表于 2003-09-04 10:06 |只看该作者

sum 出 -nan(7ffffffffffff) ????

楼上的这个办法适合于判断你的where条件下是否能sum到值,因为sum的sqlcode总是返回成功的,当p_count==0,相当于sqlcode==100。

论坛徽章:
0
6 [报告]
发表于 2003-09-04 10:26 |只看该作者

sum 出 -nan(7ffffffffffff) ????

diablocom:方法管用 谢谢
kxingl  :开始我也是用这个土方法解决的:(

论坛徽章:
0
7 [报告]
发表于 2003-09-04 11:08 |只看该作者

sum 出 -nan(7ffffffffffff) ????

不客气,其实这个办法不是很土,只是用到这个地方就大材小用了:)

论坛徽章:
0
8 [报告]
发表于 2003-09-05 15:50 |只看该作者

sum 出 -nan(7ffffffffffff) ????

其实还可以这样
select  sum(val) into $p_sum from tablename where * having count(*) >; 0;
if(sqlca.sqlcode==SQLNOTFOUND) p_sum=0.00;

论坛徽章:
0
9 [报告]
发表于 2003-09-05 15:56 |只看该作者

sum 出 -nan(7ffffffffffff) ????

追加一句,SUM的字段里不能存在空值,否则SUM出来的还是空值,上面的办法不好使

论坛徽章:
0
10 [报告]
发表于 2003-09-06 17:16 |只看该作者

sum 出 -nan(7ffffffffffff) ????

你可以在sum后,用risnull函数取判断以下,,如果唯空,取0。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP