程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 帶您深入了解Oracle隨機數產生函數

帶您深入了解Oracle隨機數產生函數

編輯:Oracle數據庫基礎

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的隨機數。下面是其用法的一個示例:

  1. SQL> select dbms_random.value, dbms_random.value(55,100) from dual;   
  2. VALUE            DBMS_RANDOM.VALUE(55,100)   
  3. --------------- -----------------------------   
  4. .782821936       79.6367038    

NORMAL函數返回服從正態分布的一組數。此正態分布標准偏差為1,期望值為0。這個函數返回的數值中有68%是介於-1與+1之間,95%介於-2與+2之間,99%介於-3與+3之間。事實上,這就是你在清單1中所看到的。

最後,是STRING函數。它返回一個長度達60個字符的隨機字符串。參數OPT可以是清單2顯示的值中的任何一個單個字符。

關於這些Oracle隨機數產生函數及DBMS_RANDOM包的文件都包含在SQLPlus中:

  1. select text   from all_source    
  2.        where name = 'DBMS_RANDOM'    
  3.        and type = 'PACKAGE' order by line;   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved