【问题标题】:Create using dbms_random.value with a specifying scale使用具有指定比例的 dbms_random.value 创建
【发布时间】:2017-03-03 03:58:55
【问题描述】:

如何通过指定比例创建随机值(68 到 69 之间)

例如,我希望 USD 存储一个值 (69.42),但如果我会 dbms_random.value (68.42,69.99)。

如果我使用 trunc,他会给出超过 2 个比例(69.8390172988896),他给出的比例完全没有。

我正在使用下一个代码

CREATE TABLE T_NEW_TEST
(
USD NUMBER NULL,
EURO NUMBER NULL,
DATEOF DATE NULL
)

INSERT INTO T_NEW_TEST
select TRUNC(DBMS_RANDOM.VALUE(68.22,69.99),(DBMS_RANDOM.VALUE(72.2,74.4)),date '2017-01-01' + (level-1)
from dual
connect by level <= 100

【问题讨论】:

    标签: sql oracle plsql oracle11g


    【解决方案1】:

    如果我理解正确,您想在小数点后两位数后截断。

    为此使用TRUNC(COL, 2)

    select TRUNC(DBMS_RANDOM.VALUE(68.22,69.99),2),date '2017-01-01' + (level-1)
    from dual
    connect by level <= 100
    

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-28
      相关资源
      最近更新 更多