天天看點

Oracle dbms_random

Oracle dbms_random

介紹幾個常用的功能

生成0-1的小數(預設)

SQL> select dbms_random.valuefrom dual;

    VALUE

----------

.932351752

Note:可通過trunc、round函數對結果進行加工

生成指定範圍内的數

FUNCTION VALUE RETURNS NUMBER

 Argument Name                  Type                    In/Out Default?

 ----------------------------------------------------- ------ --------

 LOW                            NUMBER                  IN

 HIGH                           NUMBER                  IN

SQL> select dbms_random.value(23,48)from dual;

DBMS_RANDOM.VALUE(23,48)

------------------------

              23.1991482

長度為20的随機數字串

SQL> select length(cast(dbms_random.valueas varchar2(1024))) from dual;

LENGTH(CAST(DBMS_RANDOM.VALUEASVARCHAR2(1024)))

-----------------------------------------------

                                             39

說明小數點後隻有38位占位符有數字

SQL> select substr(cast(dbms_random.valueas varchar2(38)),3,20) from dual;

SUBSTR(CAST(DBMS_RANDOM.VALUEASVARCHAR2(

----------------------------------------

52633757378080443317

正态分布的随機數

select dbms_random.normal from dual;

随機字元串

select dbms_random.string(opt, length) fromdual;

     opt可取值如下:

     'u','U'    :    大寫字母

     'l','L'    :    小寫字母

     'a','A'    :    大、小寫字母

     'x','X'    :    數字、大寫字母

     'p','P'    :    可列印字元

SQL> select dbms_random.string('U',10)from dual;

DBMS_RANDOM.STRING('U',10)

------------------------------------------------------------------------------------------------------------------------------------------------------

下一篇: dbms_shared_pool

繼續閱讀