我需要生成一个可以为0或1的随机值。我尝试了这个代码:select floor(DBMS_RANDOM.VALUE (0, 1)) from dual
,但是得到1的概率非常非常低。有没有办法让0和1的可能性更加相似?
round
而不是floor
:select round(DBMS_RANDOM.VALUE (0, 1)) from dual
DBMS_RANDOM.VALUE(0,1)
永远不会返回1。参考文档:
您需要:low 生成随机数的范围的最小值。生成的数字可能等于low。
high 生成随机数的范围的最大值,生成的数字将小于 high。
floor(DBMS_RANDOM.VALUE(0,2))
mod(DBMS_RANDOM.RANDOM,2)
时,我也会得到 -1 的值,我需要使用 abs
,对吗? - Aramillo
round
而是使用floor
? - Justin Cave