dbms_random

perfychi發表於2012-07-20

DBMS_RANDOM


Oracle8 8.0版介紹了DBMS_RANDOM包,Oracle8i 8.1.6版介紹了
DBMS_RANDOM包的新功能,但Oracle8i 文件中沒有詳細全面介紹其功能。幸運
的是:有一個新的DBMS_RANDOM包函式能夠返回0-1之間的隨機數。這個新函式是: 
  
  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)
  2 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顯示的值中的任何一個單個字元。   
  
  關於這些函式及DBMS_RANDOM包的檔案都包含在SQLPlus中: 
  
  select text 
  from all_source 
  where name = 'DBMS_RANDOM' 
  and type = 'PACKAGE' order by line;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-736109/,如需轉載,請註明出處,否則將追究法律責任。