mysql dbms random_通过DBMS_RANDOM得到随机

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 ;

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值