如何使用Oracle中某个范围内的随机值更新表列?

时间:2011-04-26 16:43:32

标签: oracle random

我有一个包含3列的表格:   - PRIMARY_KEY   - AMOUNTS   - RAND_AMOUNTS(所有空值)

我希望使用以下公式填充RAND_AMOUNTS列:

AMOUNT*(0-100 random value)/100

因此,例如,如果我们假设金额行为10,并且为该行生成的随机值为10,则RAND_AMOUNT应为10 * 10 / 100 = $1

3 个答案:

答案 0 :(得分:7)

dbms_random()正是您所寻找的:

UPDATE the_table
   SET rand_amount = (amount * dbms_random.value(0, 100) ) / 100
WHERE amount IS NOT NULL

答案 1 :(得分:4)

update yourtable set rand_amounts = dbms_random.value * amount;

答案 2 :(得分:1)

使用:

dbms_random.value(lower-value-limit, upper-value-limit)

应该做你想要的。