使用的是sqlplus吗?看看你的numformat设置是否是默认的!
解决方案 »
- USERENV('CLIENT_INFO')?
- 关于Oracle远程存储的问题,各位大虾麻烦多多指点一下吧
- oracle行转列问题
- 关于查询结果排序的问题,进来帮帮忙啊!
- oracle存储过程怎么传入一个字符串,让in语句执行呢?
- 请教一个关于时间的分组sql问题
- 没有 Management Server,是不是不能进行备份、恢复、导出、导入等操作?
- 高手求救:数据库如何恢复????
- 请问Oracle 9中怎么使用svrmgrl,送分
- 问个oracle9i安装问题,我在第一次安装时选择了全局数据库名为myoracle。安装完成后,我又卸下oracle9i,重新安装oracle9i,但好象数据库名
- 软件脱离oralce环境要使程序正常运行怎么做
- 郁闷,散分!
-----------
3.252SQL> set numformat 0.0000
SQL> select 0.123+3.129 from dual;0.123+3.129
-----------
3.2520
2 / SUM(ANUM)
------------
10001000.99
原因就是合计我用sum来做的。
而且运行set numformat 0.0000时
会报“Cannot SET NUMFORMAT“错。
结果还是10001001。
更正一个地方,字段ANUM 是number(16,2)
好像位数也有关系,number(14,2)的时候就每这问题
或者你先在SQL/PL设置
NUMFORMAT 的值 位00000000.00
我的也是number(16,2) 啊
或者你先在SQL/PL设置
NUMFORMAT 的值 位00000000.00
你可以吗?我设过还是不行
SQL> desc t_sumnum;
名称 是否为空? 类型
----------------------------------------- -------- ---------------------------- ANUM NUMBER(16,2)SQL> select * from t_sumnum; ANUM
----------
10000001
1000SQL> select to_char(anum,'9999999999999999.99') from t_sumnum;TO_CHAR(ANUM,'999999
--------------------
10000000.99
1000.00SQL> select sum(anum) from t_sumnum; SUM(ANUM)
----------
10001001SQL> select to_char(sum(anum),'9999999999999999.99') from t_sumnum;TO_CHAR(SUM(ANUM),'9
--------------------
10001000.99
从上面语句可以看出,sum函数本身并没有问题,只是oracle本身在显示sum结果的时候按照 NUMFORMAT 参数来显示结果了,所以只需对sum结果进行格式化即可