在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)