【问题标题】:How do i format output number in Oracle SQL如何在 Oracle SQL 中格式化输出编号
【发布时间】:2015-12-24 17:48:17
【问题描述】:

我有一个有两列的表格

产品(Varchar 20),长度(浮点数 100)。我想显示长度的输出,使其最多显示 3 位小数,而与长度的整数部分的位数无关。

我做了以下

SELECT product,to_char(length,'999D999') from productdetails

但是,如果其中一条记录的整数部分包含 4 位数字,则返回 ########。以上仅适用于整数部分最多为 3 位的数据。我如何以这种方式使其返回 3 个十进制数字,而与整数部分的位数无关?

注意:如果长度是完美整数,ROUND(length,3) 不会给出最多 3 位的小数。

【问题讨论】:

  • 那么,例如,对于像 1234.567 这样的数字,您希望得到什么结果?
  • 我希望它显示 1234.567

标签: sql oracle number-formatting


【解决方案1】:

用途:

SqlFiddleDemo

SELECT 
  Product,
  length,
  to_char(length,'999999999999999D999')
FROM tab

【讨论】:

  • @SqlFiddleDemo : ] 如果位数超过上述 9 的个数,这将再次失败。
  • @Hankton 你可以再添加 9 个。但我怀疑你是否需要大于 10^15 的数字
猜你喜欢
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
相关资源
最近更新 更多