Oracle随机数产生函数可以回0-1之间的随机数,该函数有很好的实用价值,下面就让我们来一同了解一下Oracle随机数产生函数的用法。
Oracle8 8.0版介绍了DBMS_RANDOM包,Oracle8i 8.1.6版介绍了DBMS_RANDOM包的新功能,但Oracle8i 文档中没有详细全面介绍其功能。幸运的是:有一个新的DBMS_RANDOM包函数能够返回0-1之间的随机数。这个新Oracle随机数产生函数是:
◆ FUNCTION value RETURN NUMBER;
◆ FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER;
◆ FUNCTION normal RETURN NUMBER;
◆ FUNCTION string (opt char, len NUMBER) RETURN VARCHAR2;
VALUE函数的***种形式返回一个大于或等于0且小于1的随机数;第二种形式返回一个大于或等于LOW,小于HIGH的随机数。下面是其用法的一个示例:
- SQL> select dbms_random.value, dbms_random.value(55,100) from dual;
- VALUE DBMS_RANDOM.VALUE(55,100)
- --------------- -----------------------------
- .782821936 79.6367038
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。事实上,这就是你在清单1中所看到的。
***,是STRING函数。它返回一个长度达60个字符的随机字符串。参数OPT可以是清单2显示的值中的任何一个单个字符。
关于这些Oracle随机数产生函数及DBMS_RANDOM包的文件都包含在SQLPlus中:
- select text from all_source
- where name = 'DBMS_RANDOM'
- and type = 'PACKAGE' order by line;
【编辑推荐】