生成随机 0 或 1 - Oracle
generate random 0 or 1 - Oracle
我需要生成一个可以是 0 或 1 的随机值。我试过这个:select floor(DBMS_RANDOM.VALUE (0, 1)) from dual
但是获得值 1 的可能性非常非常低。有没有机会得到这个0和1的可能性相似?
用DBMS_RANDOM.RANDOM得到一个整数,用mod (n,2)
得到0(偶数)或1(奇数)
DBMS_RANDOM.VALUE(0,1)
将 永远不会 return 1. 从 documentation:
low The lowest number in a range from which to generate a random
number. The number generated may be equal to low.
high The highest number below which to generate a random number. The
number generated will be less than high.
你想要:floor(DBMS_RANDOM.VALUE(0,2))
尝试使用 round
而不是 floor
:
select round(DBMS_RANDOM.VALUE (0, 1)) from dual
我需要生成一个可以是 0 或 1 的随机值。我试过这个:select floor(DBMS_RANDOM.VALUE (0, 1)) from dual
但是获得值 1 的可能性非常非常低。有没有机会得到这个0和1的可能性相似?
用DBMS_RANDOM.RANDOM得到一个整数,用mod (n,2)
得到0(偶数)或1(奇数)
DBMS_RANDOM.VALUE(0,1)
将 永远不会 return 1. 从 documentation:
low The lowest number in a range from which to generate a random number. The number generated may be equal to low.
high The highest number below which to generate a random number. The number generated will be less than high.
你想要:floor(DBMS_RANDOM.VALUE(0,2))
尝试使用 round
而不是 floor
:
select round(DBMS_RANDOM.VALUE (0, 1)) from dual