原文地址:http://blog.csdn.net/pengle/archive/2006/12/27/1464622.aspx1.准备工作login sqlplus assys then run thescript $ORACLE_HOME/RDBMS/ADMIN/dbmsrand......
原文地址:http://blog.csdn.net/pengle/archive/2006/12/27/1464622.aspx
1.准备工作
login sqlplus as sys then run the script $ORACLE_HOME/RDBMS/ADMIN/dbmsrand.sql
2.应用举例
SELECT DBMS_RANDOM.RANDOM FROM DUAL; 再进一步的要求,比如,产生一个0-100的随机数,稍微变通一下就可以了: select abs(mod(dbms_random.random,100)) from dual
3.进阶说明
dbms_random又有新函数了可以实现这些功能 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; 产生N到M之间的随机数 SELECT DBMS_RANDOM.VALUE(N,M) FROM DUAL; 缺省DBMS_RANDOM.VALUE返回0到1之间的随机数 NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与 1之间,95%介于-2与 2之间,99%介于-3与 3之间。 最后,是STRING函数。它返回一个长度达60个字符的随机字符串。
用DBMS_RANDOM生成文本和日期值
作者: Bob Watkins 2006-06-09 04:51 PM
数字、文本字符串和日期都是用户会在表格里碰到的三种常见数据类型。虽然你可以用PL/SQL程序包里的DBMS_RANDOM随机生成数字——它确实能够做到这一点——它还能够随机生成文本和日期值。
1.产生随机数字
就让我们先从数字开始。VALUE函数会返回一个大于等于0但是小于1的数,精度是38位。
SELECT DBMS_RANDOM.VALUE FROM DUAL;
对于指定范围内的整数,要加入参数low_value和high_value,并从结果中截取小数(最大值不能被作为可能的值)。所以对于0到99之间的整数,你要使用下面的代码:
SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100)) FROM DUAL;
2.产生随机文本字符串
要随机生成文本字符串,就要使用STRING函数并编写代码指定字符串的类型和所希望的长度:
1/3 1 2 3 下一页 尾页 |