萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> oracle數據庫生成隨機數的函數

oracle數據庫生成隨機數的函數

   在Oracle中的DBMS_RANDOM程序包中封裝了一些生成隨機數和隨機字符串的函數,其中常用的有以下兩個:

  DBMS_RANDOM.VALUE函數

  該函數用來產生一個隨機數,有兩種用法:

  1. 產生一個介於0和1之間(不包含0和1)的38位精度的隨機數,語法為:

DBMS_RANDOM.VALUE RETURN NUMBER;

  這種用法不包含參數。

  2. 產生一個介於指定范圍之內的38位精度的隨機數,語法為:

DBMS_RANDOM.VALUE(low IN NUMBER,high IN NUMBER) RETURN NUMBER;

  這種用法包含兩參數,參數low用來指定要生成的隨機數的下限,參數high指定上限,生成的隨機。請注意生成的隨機數有可能等於下限,但絕對小於上限,即“low<=隨機數

  舉個例子: 要產生一個1到100之間的數可以這樣寫: DBMS_RANDOM.VALUE(1,100)

  DBMS_RANDOM.STRING函數

  該函數產生一個隨機字符串,語法為:

DBMS_RANDOM.STRING (opt IN CHAR,len IN NUMBER) RETURN VARCHAR2;

  參數len指定生成的字符串的長度。

  參數opt指定生成的字符串的樣式,允許的取值及其表示的含義如下表所示:

取值 含義 ‘u’或’U’ 返回一個由大寫字母組成的字符串 ‘l’或’L’ 返回一個由小寫字母組成的字符串 ‘a’或’A’ 返回一個由大寫字母和小寫字母組成的字符串 ‘x’或’X’ 返回一個由大寫字母和數字組成的字符串 ‘p’或’P’ 返回一個由任意的可打印字符組成的字符串

  舉個例子: 要產生一個長度為6且只包括大寫字母的字符串,可以這樣寫: DBMS_RANDOM.STRING('U',6)

copyright © 萬盛學電腦網 all rights reserved