通过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 ;
推荐阅读
-
Oracle随机函数之dbms_random使用详解
-
php中通过数组进行高效随机抽取指定条记录的算法
-
Oracle随机函数之dbms_random使用详解
-
教你如何通过Mysql弱口令得到系统权限
-
计算任选 3个 (1 到 9 )的自然数,他们能通过 加 减 乘 除 运算组合 形成 24 。例如 , 1,3,8 就能 通过 1X3X8 这样的运算 得到 24. 或者 7+8 +9 = 24
-
通过SQL注入得到WebShell的原理及步骤
-
解决Go中使用seed得到相同随机数的问题
-
李卫的官是通过捐资而来的,为什么他能得到雍正帝的赏识呢?
-
ORACLE随机数DBMS_RANDOM包
-
人类将通过放弃肉体得到永生?你敢试吗