【问题标题】:oracle: query to have as output scale and precision for numeric columns - field datatype = numberoracle:查询作为数字列的输出比例和精度 - 字段数据类型 = 数字
【发布时间】:2019-09-14 04:48:19
【问题描述】:

我有一个数字数据类型的列。在本专栏中,我有比例和精度的值,但也只有比例可用。 我希望当我查询数据时,所有字段的输出比例和精度都有。

create table test ( column number );

insert into test values (123);
insert into test values (0);
insert into test values (15.06);
insert into test values (78.78);
insert into test values (12.3);
commit;

   123
     0
 15.06
 78.78
  12.3

当我查询数据时,我希望输出如下:

123.00
  0.00
 15.06
 78.78
 12.30

您能否指出我应该如何编写查询以获得上述输出?输出也应该是数字。精密部分不固定。

【问题讨论】:

标签: sql oracle numbers scale precision


【解决方案1】:

转换成你想要的格式:

select to_char(col, '990.00')
from t;

Here 是一个 dbfiddle。

您可以通过调整图案来控制比例。例如,四位小数:

select to_char(col, '990' || rpad('.', 4 + 1, '0'))
from test;

我不知道如何控制结果集所以值为数字。

【讨论】:

  • 嗨。这个解决方案只有在我知道规模的数量时才有效,但如果我不知道怎么办?如果存在,我需要一个简单的解决方案。最终输出应该是数字。
【解决方案2】:

这将起作用:

select to_char("a", '000.00') from Table1;

http://sqlfiddle.com/#!4/16599a/2

【讨论】:

  • 输出不是数字!我想要一个如上格式的数字输出。
猜你喜欢
  • 1970-01-01
  • 2012-10-18
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 1970-01-01
相关资源
最近更新 更多