【问题标题】:Oracle SQL help decimal(15,6) on SelectOracle SQL help decimal(15,6) on Select
【发布时间】:2020-02-06 05:54:10
【问题描述】:

我在编写用于 ETL 目的的 SQL 时遇到问题。

我的 Oracle DB 有一个 column A,其中包含 9999999999972594121.375515。我需要将此值转换为decimal(15,6)。数据类型decimal(15,6) 位于将加载数据的目标上。

任何建议。

TIA

【问题讨论】:

  • 999999999997259 不适合 DECIMAL(15, 6)
  • DECIMAL(15, 6) 表示“总共 15 位,其中小数点后 6 位”。您可能会计算出小数点前的位数限制为 9。999999999997259 小数点前的位数超过 9 位 - 所以它不适合。

标签: sql oracle select


【解决方案1】:

以下是将值四舍五入到小数点后 6 位的方法。条件:它应该包含 有效值。

  select cast(round(ColumnaA,6) as DECIMAL(15,6)) from table;

【讨论】:

    猜你喜欢
    • 2015-03-21
    • 1970-01-01
    • 2017-06-29
    • 2014-07-06
    • 1970-01-01
    • 2018-12-02
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多