久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ORACLE中DBMS_RANDOM包的用法

 爪一o_0一斗 2012-12-05

1,、包定義:

 sql>desc dbms_random
Element    Type     
---------- ---------
SEED       PROCEDURE
VALUE      FUNCTION 
NORMAL     FUNCTION 
STRING     FUNCTION 
INITIALIZE PROCEDURE
RANDOM     FUNCTION 
TERMINATE  PROCEDURE
NUM_ARRAY  TYPE  

2,、使用舉例:

a,、value() 用于返回兩個數(shù)值之間的隨機(jī)數(shù),,value(low,,high)

      SQL> select dbms_random.value() from dual;
 
      DBMS_RANDOM.VALUE()  默認(rèn)是從0到1間的數(shù)
       -------------------
      0.0536824248407651

      SQL> select dbms_random.value(10,100) from dual;
 
      DBMS_RANDOM.VALUE(10,100)
      -------------------------
      29.2420951206225

b,、random() 返回的值介于2的31次方和-2的31次方之間的整形數(shù)值

     SQL>  select dbms_random.random() from dual;
 
     DBMS_RANDOM.RANDOM()
     --------------------
          2071097056
 
      SQL>  select dbms_random.random() from dual;
 
       DBMS_RANDOM.RANDOM()
      --------------------
         -1589187025 

c、string('parameter',length)

     SQL> select dbms_random.string('a',10) from dual;     --all返回不分大小寫的字母字符串
 
     DBMS_RANDOM.STRING('A',10)       
      --------------------------------------------------------------------------------
      eDvKaqNWII

      SQL> select dbms_random.string('u',10) from dual;   --upper返回大寫字母字符串
 
      DBMS_RANDOM.STRING('U',10)  

       --------------------------------------------------------------------------------
       KPGNYTWDGA

       SQL>  select dbms_random.string('l',10) from dual;  --little小寫字母
 
       DBMS_RANDOM.STRING('L',10)
       --------------------------------------------------------------------------------
       zehtdserww

       SQL> select dbms_random.string('x',10) from dual;   ---大寫字母加數(shù)字
 
       DBMS_RANDOM.STRING('X',10)
       --------------------------------------------------------------------------------
       3Z7DBA4S8I

       SQL> select dbms_random.string('p',10) from dual;  --print 所有可以打印的字符
 
        DBMS_RANDOM.STRING('P',10)
        --------------------------------------------------------------------------------
        Vj|2~cWM"K
 
        SQL> select dbms_random.string('p',10) from dual;
 
        DBMS_RANDOM.STRING('P',10)
        --------------------------------------------------------------------------------
        6_q{eci*uB


ORACLE中DBMS_RANDOM包的用法
 
1.dbms_random.value方法
 
dbms_random是一個可以生成隨機(jī)數(shù)值或者字符串的程序包,。這個包有initialize(),、seed(),、terminate()、value(),、normal(),、random()、string()等幾個函數(shù),,但value()是最常用的,,value()的用法一般有兩個種,
  1) function value return number; 這種用法沒有參數(shù),,會返回一個具有38位精度的數(shù)值,,范圍從0.0到1.0,但不包括1.0,,如下示例: 
SQL> set serverout on 
SQL> begin 
   2    for i in 1..10 loop 
   3      dbms_output.put_line(round(dbms_random.value*100)); 
   4    end loop; 
   5  end;   www.2cto.com  
   6  / 
46 
19 
45 
37 
33 
57 
61 
20 
82 
PL/SQL 過程已成功完成,。 
    
2)value帶有兩個參數(shù),第一個指下限,,第二個指上限,,將會生成下限到上限之間的數(shù)字,但不包含上限,,“學(xué)無止境”兄說的就是第二種,,如下: 
SQL> begin 
   2    for i in 1..10 loop 
   3      dbms_output.put_line(trunc(dbms_random.value(1,101))); 
   4    end loop; 
   5  end;   www.2cto.com  
   6  / 
97 
77 
13 
86 
68 
16 
55 
36 
54 
46 
  
PL/SQL 過程已成功完成。 
 
2. dbms_random.string 方法
某些用戶管理程序可能需要為用戶創(chuàng)建隨機(jī)的密碼,。使用10G下的dbms_random.string 可以實現(xiàn)這樣的功能,。
 
例如:
SQL> select dbms_random.string('P',8 ) from dual ;
 
DBMS_RANDOM.STRING('P',8)
--------------------------------------------------------------------------------
3q<M"yf[
第一個參數(shù)的含義:
 'u', 'U' - returning string in uppercase alpha characters
 'l', 'L' - returning string in lowercase alpha characters
 'a', 'A' - returning string in mixed case alpha characters
 'x', 'X' - returning string in uppercase alpha-numeric
characters
 'p', 'P' - returning string in any printable characters.
Otherwise the returning string is in uppercase alpha
characters.
P 表示 printable,即字符串由任意可打印字符構(gòu)成
而第二個參數(shù)表示返回的字符串長度,。
 
3. dbms_random.random 方法
    random返回的是BINARY_INTEGER類型值,產(chǎn)生一個任意大小的隨機(jī)數(shù)
  與dbms_random.value 的區(qū)別舉例:
   Order By dbms_random.value;
 
這條語句功能是實現(xiàn)記錄的隨機(jī)排序
另外:dbms_random.value 和
dbms_random.random 兩者之間有什么區(qū)別,?
1。Order By dbms_random.value ,,為結(jié)果集的每一行計算一個隨機(jī)數(shù),,dbms_random.value 是結(jié)果集的一個列(雖然這個列并不在select list 中),然后根據(jù)該列排序,,得到的順序自然就是隨機(jī)的啦。
 
2,??纯磀esc信息便知道vlue和random這兩個函數(shù)的區(qū)別了,value返回的是number類型,,tb并且返回的值介于1和0之間,,而random返回的是BINARY_INTEGER類型(以二進(jìn)制形式存儲的數(shù)字,據(jù)說運(yùn)算的效率高于number但我沒測試過,,但取值范圍肯定小于number,,具體限制得查資料了)
如果你要實現(xiàn)隨機(jī)排序,還是用value函數(shù)吧
 
4. dbms_random.normal方法
NORMAL函數(shù)返回服從正態(tài)分布的一組數(shù)。此正態(tài)分布標(biāo)準(zhǔn)偏差為1,,期望值為0,。這個函數(shù)返回的數(shù)值中有68%是介于-1與+1之間,95%介于-2與+2之間,,99%介于-3與+3之間,。
 
5. dbms_random.send方法  
用于生成一個隨機(jī)數(shù)種子,設(shè)置種子的目的是可以重復(fù)生成隨機(jī)數(shù),用于調(diào)試,。否則每次不同,,難以調(diào)度。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多