麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

ORACLE隨機(jī)數(shù)DBMS_RANDOM包

2024-08-29 13:58:40
字體:
供稿:網(wǎng)友
這篇文章主要介紹了ORACLE隨機(jī)數(shù)DBMS_RANDOM包,通過dbms_random包調(diào)用隨機(jī)數(shù)的方法大致有4種,具體哪4種請(qǐng)看本篇文章吧
 

簡(jiǎn)單得說,通過dbms_random包調(diào)用隨機(jī)數(shù)的方法大致有4種:

1、dbms_random.normal

    這個(gè)函數(shù)不帶參數(shù),能返回normal distribution的一個(gè)number類型,所以基本上隨機(jī)數(shù)會(huì)在-1到1之間。
    簡(jiǎn)單測(cè)試了一下,產(chǎn)生100000次最大能到5左右:

Sql代碼

 declare   i number:=;    j number:=;   begin   for k in .. loop    i:= dbms_random.normal;     if i > j      then j:=i;     end if;    end loop;    dbms_output.put_line(j);   end; 

    5.15325081797418404136433867107468983182

    PL/SQL procedure successfully completed

2、dbms_random.random

    這個(gè)也沒有參數(shù),返回一個(gè)從-power(2,31)到power(2,31)的整數(shù)值

3、dbms_random.value

    這個(gè)函數(shù)分為兩種,一種是沒有參數(shù),則直接返回>=0 and <1之間的38位小數(shù)

 

  SQL > column value format 9.99999999999999999999999999999999999999  SQL > select dbms_random.value from dual;                    VALUE  -----------------------------------------   .58983014999643548701631750396301271752

    第二種是加上兩個(gè)參數(shù)a、b,則返回值在>=a and <b之間的38位小數(shù)

  SQL > column value format 999.999999999999999999999999999999999999  SQL > select dbms_random.value(100,500) value from dual;                    VALUE  -----------------------------------------   412.150194612502916808701157054098274240

    注意:無論前面幾位,小數(shù)點(diǎn)之后都是38位

可以用trunc()函數(shù)取整

4、dbms_random.string

    這個(gè)函數(shù)必須帶有兩個(gè)參數(shù),前面的字符指定類型,后面的數(shù)值指定位數(shù)(最大60)

    類型說明:

  'u','U' : upper case alpha characters only  'l','L' : lower case alpha characters only  'a','A' : alpha characters only (mixed case)  'x','X' : any alpha-numeric characters (upper)  'p','P' : any printable characters  SQL > column value format a30  SQL > select dbms_random.string('u',30) value from dual;  VALUE  ------------------------------  VTQNLGISELPXEDBXKUZLXKBAJMUTIA  SQL > select dbms_random.string('l',30) value from dual;  VALUE  ------------------------------  uqygsbquingfqdytpgjvdoblxeglgu  SQL > select dbms_random.string('a',30) value from dual;  VALUE  ------------------------------  NGTGkQypuSWhBfcrHiOlQwOUXkqJjy  SQL > select dbms_random.string('x',30) value from dual;  VALUE  ------------------------------  UVWONYJMXT31VEFPD736WJCJ5QT6BD  SQL > select dbms_random.string('p',30) value from dual;  VALUE  ------------------------------  :mak$(WT4M_7c/+f[_XUscf$P Zcq{

5、關(guān)于seed

    可以設(shè)置seed來確定隨機(jī)數(shù)的起始點(diǎn),對(duì)于相同的seed而言,隨機(jī)數(shù)的任意一次變化都將是確定的。

    就是說,如果在某一時(shí)刻調(diào)用了seed,之后第一次產(chǎn)生的隨機(jī)數(shù)是4,第二次是6,第三次是1,那么當(dāng)你再次調(diào)用相同的seed之后,一次產(chǎn)生的隨機(jī)數(shù)還是4、6、1

    seed有兩種,一種是數(shù)值型的,一種是字符型(最大長(zhǎng)度2000)的

  -- Seed with a binary integer  PROCEDURE seed(val IN BINARY_INTEGER );  PRAGMA restrict_references (seed, WNDS );  -- Seed with a string (up to length 2000)  PROCEDURE seed(val IN VARCHAR2 );  PRAGMA restrict_references (seed, WNDS );

6、關(guān)于initialize

    一個(gè)integer參數(shù),注釋說的很清楚了:

 -- Obsolete, just calls seed(val)  PROCEDURE initialize(val IN BINARY_INTEGER );  PRAGMA restrict_references (initialize, WNDS );

本文給大家介紹的ORACLE隨機(jī)數(shù)DBMS_RANDOM包,就到此為止了,希望對(duì)大家學(xué)習(xí)oracle隨機(jī)數(shù)有所幫助。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到oracle教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美日韩高清不卡 | 噜噜噜在线 | www嫩草 | 亚洲第一成人久久网站 | 国产精品一区在线看 | 日韩视频一区二区三区四区 | 亚洲αv| 久久久久国产成人免费精品免费 | 亚洲免费看片网站 | 亚洲第一页在线观看 | 日本68xxxx| 亚洲国产超高清a毛毛片 | 日本免费一区二区三区四区 | 免费看国产视频 | 成人黄色短视频在线观看 | 久久久久久久久久久久久国产精品 | 精国产品一区二区三区 | 黄色片免费在线 | 性插视频 | 干色视频 | 久久影院午夜 | 男女无套免费视频 | av噜噜噜噜 | 国产99久久久国产精品 | 国产99久久久国产精品 | www.69色| 国产在线免费 | 农村少妇吞精夜夜爽视频 | 黄色影院在线看 | 国产亚洲精品综合一区91 | 一道本不卡一区 | 久久精品视频16 | 毛片视频免费播放 | 91久久久久久久一区二区 | 免费黄色小网站 | 偷偷草网站 | 国产亚洲欧美日韩在线观看不卡 | 久久国产精品久久精品国产演员表 | 亚洲国产视频在线 | 国产精品视频一区二区三区四区国 | 老子午夜影院 |