失乐园

技术之路

BlogJava 联系 聚合 管理
  19 Posts :: 44 Stories :: 40 Comments :: 0 Trackbacks
Oracle随机函数—dbms_random  
1.基础认识
关于这些函数及DBMS_RANDOM包的文件都包含在SQLPlus中:
     select text   from all_source 
      where name = 'DBMS_RANDOM' 
       and type = 'PACKAGE' order by line; 
   ◆ TYPE      num_array
   ◆ PROCEDURE terminate
   ◆ PROCEDURE seed
   ◆ PROCEDURE initialize
   ◆ FUNCTION 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; 
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之间的随机数 
SQL> select dbms_random.value, dbms_random.value(55,100) from dual; 
VALUE            DBMS_RANDOM.VALUE(55,100) 
--------------- ----------------------------- 
0.714469037747011      68.5593418279622
  
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。 
最后,是STRING函数。它返回一个长度达60个字符的随机字符串。
用DBMS_RANDOM生成文本和日期值 
数字、文本字符串和日期都是用户会在表格里碰到的三种常见数据类型。虽然你可以用PL/SQL程序包里的DBMS_RANDOM随 ......
posted on 2011-05-12 15:43 狄浩 阅读(814) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: