oracle 聚合函数求和后,小数点前面的零不显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 聚合函数求和后,小数点前面的零不显示相关的知识,希望对你有一定的参考价值。

如 SUM(金额) as 收入 ,使用TO_CHAR(收入,'9999990.999')后小数点前面的零还是不显示,TO_CHAR(SUM(金额),'9999990.999')也不行

你的 Oracle 版本是多少呀?

我这里测试了, 你那种写法,是没有问题的啊。



CREATE TABLE test_tochar(
  id INT,
  val decimal(10,4)
);
INSERT INTO test_tochar VALUES(1,   0.0001);
INSERT INTO test_tochar VALUES(2,   0.0012);
INSERT INTO test_tochar VALUES(3,   0.0123);
INSERT INTO test_tochar VALUES(4,   0.1234);
INSERT INTO test_tochar VALUES(5,   1.2345);
INSERT INTO test_tochar VALUES(6,   12.3456);
INSERT INTO test_tochar VALUES(7,   123.4567);
INSERT INTO test_tochar VALUES(8,   1234.5678);
INSERT INTO test_tochar VALUES(9,   12345.6789);
默认的显示方式。
SQL> COLUMN "Result" FORMAT A15
SQL> SELECT id, TO_CHAR(val) Result FROM test_tochar;
        ID RESULT
---------- ---------------
         1 .0001
         2 .0012
         3 .0123
         4 .1234
         5 1.2345
         6 12.3456
         7 123.4567
         8 1234.5678
         9 12345.6789
已选择9行。
注意到, 小于 1 的数据, 被 to_char 成   .0001 了。 而不是  0.0001
修改 TO_CHAR 的格式化参数:
SQL> SELECT id, TO_CHAR(val, \'999,990.999\') Result FROM test_tochar;
        ID RESULT
---------- ---------------
         1        0.000
         2        0.001
         3        0.012
         4        0.123
         5        1.235
         6       12.346
         7      123.457
         8    1,234.568
         9   12,345.679
已选择9行。

参考技术A pl/sql设置的问题,工具-——首选项——窗口类型——sql 窗口,不勾选
"数字字段 to char“。
参考技术B 把你语句写全了,我给你改,这个你用to_char没法解决,得用连接字符串的方式搞定
比如
case when 收入 like '.%' then '0'||收入 else 收入 end
这样的方式本回答被提问者和网友采纳

以上是关于oracle 聚合函数求和后,小数点前面的零不显示的主要内容,如果未能解决你的问题,请参考以下文章

oracle如何显示小数点前面的0

在表示近似数时,小数末尾的零能不能去掉?

Oracle数据库,在写SQL语句时,怎样将一个数精确到小数点后两位,并在前面补0,补齐规定的位数

oracle 去掉小数点后不必要的0, 我要精确到小数点后三位,但后面如果是0刚不显示出来

Oracle不显示小数点前的0

sql表小数点前面的0不显示问题