liyao20060101 发表于 2018-9-11 12:25:12

Oracle随机函数—dbms_random

  Oracle随机函数—dbms_random
  1.基础认识
  关于这些函数及DBMS_RANDOM包的文件都包含在SQLPlus中: select text   from all_source where name = 'DBMS_RANDOM'
  and type = 'PACKAGE' order by line;
  ◆ TYPE      num_array    ◆ PROCEDURE terminate    ◆ PROCEDURE seed
  ◆ PROCEDURE initialize    ◆ FUNCTION random
  ◆ FUNCTION value RETURN NUMBER;
  ◆ FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER;   ◆ FUNCTION normal RETURN NUMBER;
  ◆ FUNCTION string (opt char, len NUMBER) RETURN VARCHAR2;
  2.应用举例
  SELECT DBMS_RANDOM.RANDOM FROM DUAL;
  再进一步的要求,比如,产生一个0-100的随机数,稍微变通一下就可以了:
  select abs(mod(dbms_random.random,100)) from dual
  3.进阶说明
  dbms_random又有新函数了可以实现这些功能FUNCTION value RETURN NUMBER;
  FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER;FUNCTION normal RETURN NUMBER;
  FUNCTION string (opt char, len NUMBER)   RETURN VARCHAR2;
  产生N到M之间的随机数
  SELECT   DBMS_RANDOM.VALUE(N,M) FROM DUAL;
  缺省DBMS_RANDOM.VALUE返回0到1之间的随机数
  SQL> select dbms_random.value, dbms_random.value(55,100) from dual;VALUE            DBMS_RANDOM.VALUE(55,100)--------------- -----------------------------

页: [1]
查看完整版本: Oracle随机函数—dbms_random