MySQL可以生成可以是负数还是正数的随机数?

时间:2014-03-28 20:39:39

标签: mysql random

在MySQL中有没有办法生成一个可以是为负的随机数?

例如,我想在-1.01.0之间加倍,而不是0.01.0之间的双倍,这是RAND()返回的内容。

3 个答案:

答案 0 :(得分:6)

SELECT -1+2*RAND();

应该在-1.0和1.0之间返回一个双倍。

答案 1 :(得分:2)

通常,FLOOR(RAND() * <ScaleFactor> + <Offset>)会生成一个带有比例和偏移量的随机数。

因此rand()会在01之间返回随机数,如果我们将其缩放为2,则新范围将为0-2,现在如果我们将其移动-1 ,它应该给你所需的结果-1 To +1

Select RAND() * 2 + (-1) as MyRandomNumber

答案 2 :(得分:1)

这将选择数字应为负数还是正数,并在RAND()-1.0之间返回1.0

SELECT CASE WHEN ROUND(RAND()) = 0 THEN RAND()-1 ELSE RAND() END AS randNum