风哥教程

培训 . 交流 . 分享
Make progress together!

oracle生成 0 到 1 之间的随机数

[复制链接]
内容发布:rabbit| 发布时间:2021-3-17 13:58:40
Oracle 提供了一个系统程序包 DBMS_RANDOM,可以用于生成随机数据,例如随机数字、随机字符串等。

生成 0 到 1 之间的随机数DBMS_RANDOM.VALUE 函数可以用于生成一个大于等于 0 小于 1 的随机数字。例如:
1
2
3
4
5
6
7
8
9
SELECT dbms_random.value FROM dual;
VALUE     |
----------------------------------------|
0.82366672879802619203358096665727275462|

SELECT dbms_random.value FROM dual;
VALUE     |
----------------------------------------|
0.47093028485681981896753470853250955607|




DBMS_RANDOM.VALUE 函数返回的数据包含 38 位小数,每次返回不同的数据。
有时候,例如测试时,我们想要确保每次运行时生成相同的随机数。这种情况下,我们可以使用存储过程 DBMS_RANDOM.SEED 设置一个随机数种子,然后再创建随机数就可以返回固定的数值。例如:
1
2
3
4
5
6
7
8
9
10
11
CALL dbms_random.seed(1);
SELECT dbms_random.value FROM dual;
VALUE     |
----------------------------------------|
0.75096444209816859425547820733985992585|

CALL dbms_random.seed(1);
SELECT dbms_random.value FROM dual;
VALUE     |
----------------------------------------|
0.75096444209816859425547820733985992585|




从结果可以看出,相同的种子返回了相同的随机数。每次运行随机数函数之前,都需要执行一次 DBMS_RANDOM.SEED 过程。
📝除了整数类型的种子数之外,也可以使用字符串作为随机数的种子。

回复

使用道具 举报

内容发布:tomyu5| 发布时间:3 天前
支持一下楼主哈哈哈哈哈
回复 支持 反对

使用道具 举报

1框架
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

热门文章教程

  • 大数据技术与应用入门培训教程(电子版下载
  • Oracle 12cR2 九大新功能全面曝光_详解云数
  • Oracle OCP认证考试IZ0-053题库共712题数据
  • MySQL5权威指南(第3版)PDF电子版下载
  • 风哥Oracle数据库巡检工具V1.0(附2.6网页
  • Oracle19c数据库发布与下载地址
快速回复 返回顶部 返回列表