视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
通过DBMS_RANDOM得到随机
2020-11-09 10:55:26 责编:小采
文档


DBMS_RANDOM包提供给用户获取随机数。使用DBMS_RANDOM包的时候,提供随机数种子,所谓的随机数种子就是在RANDOM算法时候使用的值

DBMS_RANDOM包提供给用户获取随机数。使用DBMS_RANDOM包的时候,提供随机数种子,所谓的随机数种子就是在RANDOM算法时候使用的值。在很多编程语言中,两次随机数的种子是一样的,那么得到的随机数序列也是一样的。所以很有必要在使用DBMS_RANDOM获取随机数的时候,提供不同的种子来获取序列,DMBS_RANDOM包中的过程与函数如下:

1)INITIALIZE:
该过程初始化DMBS_RANDOM包,必须要初始化随机数种子,语法如下:
DBMS_RANDOM.INITIALIZE(SEED IN BINARY_INTERGER)

2)SEED
该过程用于重新设置随机数种子,语法如下:
DBMS_RANDOM.SEED(SEED IN BINARY_INTEGER);

3)RANDOM
该函数用于生成随机数,语法如下:
DBMS_RANDOM.RANDOM RETURN BINARY_INTEGER;

4)TERMINATE
该过程用于关闭DBMS_RANDOM包,,语法如下:
DBMS_RANDOM.TERMINATE;

下面是几个获取随机数的例子:

SET SERVEROUT ON;

DECLARE
n_randomNum NUMBER(10);
n_randomSeed CONSTANT NUMBER :=98765;
BEGIN
dbms_random.initialize(n_randomSeed);
FOR i IN 0..10 LOOP
n_randomNum := abs(dbms_random.random()/ n_randomSeed);
dbms_output.put_line(n_randomNum);
END LOOP;
dbms_random.terminate;
END;

得到0到10之间的整数:

SELECT CEIL(DBMS_RANDOM.VALUE(0,10)) FROM DUAL;

得到0到1之间的一个小数:

SELECT dbms_random.VALUE FROM dual;

得到0到100之间的一个小数:

SELECT dbms_random.VALUE(0,100) FROM dual;

获取字符以及数字组成的随机数(第一个参数可以取值如下:'u','U':大写字母、'l','L':小写字母、'a','A':大、小写字母、'x','X':数字、大写字母、'p','P':可打印字符、):

select dbms_random.string('x', 3) from dual ;

下载本文
显示全文
专题