mysql 使用某个范围内的随机数更新所有记录

pvabu6sv  于 2023-01-25  发布在  Mysql
关注(0)|答案(3)|浏览(157)

我想用随机选择的数字填充每一条记录的列。在我的例子中,我希望数字在1-3的范围内。

cmssoen2

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。

z9gpfhce

z9gpfhce2#

使用兰德()函数。它返回0 <= v < 1.0范围内的随机浮点值v。要获取i <= R < j范围内的随机整数R,请使用表达式FLOOR(i + RAND() * (j − i + 1))。例如,要获取1<= R < 3范围内的随机整数,请使用以下语句:

UPDATE tableName
SET ColumnName= FLOOR(1 + rand() * 3);

**N.B:**兰德()生成0到1之间的随机浮点值。

ar7v8xwq

ar7v8xwq3#

这样做

UPDATE tableName SET columnName = FLOOR(RAND( ) + RAND( ));

相关问题