大家都知道mysql rand 用起来在某些场景下不是很好用 ,今天咱们就来实现一个函数。来提升他的功能

1. 随机生成 0.0.1~0.05之间的数据

DROP  FUNCTION  IF EXISTS  rand_num ;
CREATE FUNCTION rand_num (
start_num DOUBLE,
end_num DOUBLE
) RETURNS DOUBLE
BEGIN
RETURN ROUND(start_num + RAND() * (end_num - start_num),2);
END;

select rand_num(0.01, 0.05);

mysql 生成指定范围的数值  保留两位(可以是整数,可以是小数)_mysql

1. 随机生成10 ~100 之间的数据

mysql 生成指定范围的数值  保留两位(可以是整数,可以是小数)_mysql 随机数 保留两位_02

如果感觉 创建函数麻烦可以采用下面的sql

生成10~100 的分数,并保留两位

UPDATE user set score =ROUND(10 + RAND() * (100 - 10),2)