获取0 - 1之间的随机小数
select random();
1
获取一个1 - 10000之间的随机整数,ceil函数:得到不小于参数的最小的整数,floor:得到不大于参数的最大整数,trunc:截断
SELECT ceil(random()*(10000-1)+1) as num;
SELECT floor(random()*(10000-1)+1) as num;
SELECT trunc(random()*(10000-1)+1) as num;
1
2
3
获取100个1-10000之间的随机整数,可能会有重复数据
SELECT ceil(random()*(10000-1)+1) as num from generate_series(1,100);
1
获取100个1-10000之间的随机整数,没有重复数据
select num from generate_series(1,1000000) as t(num) order by random() limit 10;
1
再介绍一个生成测试数据的方法,生成2000w数据,第一个整数,第二个8位文本
select id,substring(md5(id::varchar),2,8) from generate_series (1,2000000) as t(id)
select id,substring(md5(random()::varchar),2,8) from generate_series (1,2000000) as t(id)
————————————————
版权声明:本文为优快云博主「何小牛」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/heqian33/article/details/71169483
本文介绍了如何使用SQL生成不同范围内的随机数,包括0-1之间的随机小数、1-10000间的随机整数等,并演示了生成无重复随机数及大量测试数据的方法。

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



