使用带有指定比例的dbms_random.value创建

时间:2017-03-03 03:58:55

标签: sql oracle plsql oracle11g

如何使用指定比例

创建随机值(介于68和69之间)

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

如果我使用截断,他将提供超过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

1 个答案:

答案 0 :(得分:3)

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

使用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