我想用随机选择的数字填充每一条记录的列。在我的例子中,我希望数字在1-3的范围内。
cmssoen21#
试试这个:
UPDATE tableName SET columnName = FLOOR( 1 + RAND( ) *3 );
来自RAND的MySQL文档:返回范围为0〈= v〈1.0的随机浮点值v。因此,在上面的查询中,1 + RAND()*3可以生成的最大值是3.999999,当floor时将得到3。最小值将在RAND()返回0时出现,在这种情况下将得到1。
RAND
1 + RAND()*3
3.999999
RAND()
z9gpfhce2#
使用兰德()函数。它返回0 <= v < 1.0范围内的随机浮点值v。要获取i <= R < j范围内的随机整数R,请使用表达式FLOOR(i + RAND() * (j − i + 1))。例如,要获取1<= R < 3范围内的随机整数,请使用以下语句:
0 <= v < 1.0
i <= R < j
FLOOR(i + RAND() * (j − i + 1))
1<= R < 3
UPDATE tableName SET ColumnName= FLOOR(1 + rand() * 3);
**N.B:**兰德()生成0到1之间的随机浮点值。
ar7v8xwq3#
这样做
UPDATE tableName SET columnName = FLOOR(RAND( ) + RAND( ));
3条答案
按热度按时间cmssoen21#
试试这个:
来自
RAND
的MySQL文档:返回范围为0〈= v〈1.0的随机浮点值v。
因此,在上面的查询中,
1 + RAND()*3
可以生成的最大值是3.999999
,当floor时将得到3。最小值将在RAND()
返回0时出现,在这种情况下将得到1。z9gpfhce2#
使用兰德()函数。它返回
0 <= v < 1.0
范围内的随机浮点值v。要获取i <= R < j
范围内的随机整数R,请使用表达式FLOOR(i + RAND() * (j − i + 1))
。例如,要获取1<= R < 3
范围内的随机整数,请使用以下语句:**N.B:**兰德()生成0到1之间的随机浮点值。
ar7v8xwq3#
这样做