mysql使用技巧,随机数生成、取两位小数、取整数
我们在操作mysql数据库的时候,有时需要插入或修改一些数据时需要使用到随机数。
mysql随机数生成函数为RAND()。
该函数会返回一个介于0到1之间的随机小数。
我们在实际数据库中试一下,我有一个名为workdata_pp的表,有一个浮点型字段flux,其中有一条id为1257617137的数据
select flux from workdata_pp where dataId = 1257617137;
结果如下:
我们使用随机函数给flux一个随机值,这样写
update workdata_pp set flux = RAND() where dataId = 1257617137;
看下结果:

如果我们想要生成一个介于0到100之间的随机小数,那我们只需要将RAND()*100即可,
update workdata_pp set flux = RAND()*100 where dataId = 1257617137;

如果我们想要一个随机整数,可以使用 CEILING() 函数向上取整,去掉后面的小数,得到一个整数或使用 FLOOR() 函数向下取整。
update workdata_pp set flux = CEILING(RAND()*100) where dataId = 1257617137;

update workdata_pp set flux = FLOOR(RAND()*100) where dataId = 1257617137;

如果我们想要保留两位小数,可以使用FORMAT()函数将一个数值格式化为指定的小数位数,并以字符串形式返回。通过指定第二个参数为2,可以将数值格式化为两位小数。例如,FORMAT(456.123, 2)将返回字符串”456.12″。
update workdata_pp set flux = FORMAT(RAND()*100,2) where dataId = 1257617137;

也可以使用ROUND()函数将一个小数四舍五入到指定的小数位数。通过指定第二个参数为2,可以将小数截取为两位小数。例如,ROUND(456.123, 2)将返回456.12。
update workdata_pp set flux = ROUND(RAND()*100,2) where dataId = 1257617137;

批量、插入操作也是同理的。
2426

被折叠的 条评论
为什么被折叠?



