oracle系統包——dbms_random用法

Ruthless發表於2013-06-24

oracle中隨機數的包的原始檔目錄:{oracle_home}\rdbms\admin\dbmsrand.sql

1.返回0~1間的隨機數(包括0和1)
sql> select dbms_random.value from dual;

2.返回10~20間的隨機數(包括10和20)
sql> select dbms_random.value(10,20) from dual;

3.隨機返回一個number
sql> select dbms_random.normal from dual;
注意:normal函式返回從正態分佈的一組數。此正態分佈標準偏差為1,期望值為0。這個函式返回的數值中有68%是介於-1與+1之間, 95%介於-2與+2之間,99%介於-3與+3之間。

4.隨機返回字串
語法:dbms_random.string(opt, len)
引數:
opt:取值,由oracle提供,如下
'u'或'U'–>返回大寫字母
'l'或'L'–>返回小寫字母
'a'或'A'–>大小寫字母混合
'x'或'X'–>大寫字母和數字混合
'p'或'P'–>任意可顯示字元
當選項為其他字母的時候返回的內容仍將是大寫字母
len:長度
eg:
–返回4位大寫字母
sql> select dbms_random.string('U',4) FROM DUAL;
–返回4位大小寫字母混合
sql> select dbms_random.string('a',4) FROM DUAL;

5.產生一個隨機數(正或負)
sql> select dbms_random.random from dual;   

6.隨機獲取emp表中3條記錄
sql> select *
     from (select * from scott.emp order by dbms_random.random)
     where rownum < 4;

相關文章