以下的文章主要介绍的是Oracle随机函数的正确取法,以及对通过dbms_random包调用的相关随机数的4方法的介绍,以下就是文章的具体内容描述。

假设你对Oracle随机函数的基本概念不是很了解的话,下面的文章便是对Oracle随机函数的相关内容的详细介绍,其实我个人认为Oracle随机函数的取法很简略,经过dbms_random包调用随机数的办法大致有4种:

Oracle随机函数的正确取法的描绘(oracle取随机数的函数)  Oracle随机函数 第1张

1、dbms_random.normal

这个函数不带参数,能回来normal distribution的一个number类型,所以基本上随机数会在-1到1之间。

简略测试了一下,发生100000次***能到5左右:

  1. SQL>declare
  2. 2inumber:=0;
  3. 3jnumber:=0;
  4. 4begin
  5. 5forkin1..100000loop
  6. 6i:=dbms_random.normal;
  7. 7ifi>j
  8. 8thenj:=i;
  9. 9endif;
  10. 10endloop;
  11. 11dbms_output.put_line(j);
  12. 12end;
  13. 13/
  14. 5.15325081797418404136433867107468983182
  15. PL/SQLproceduresuccessfullycompleted

2、dbms_random.random

这个也没有参数,回来一个从-power(2,31)到power(2,31)的整数值

3、Oracle随机函数的取法:dbms_random.value

这个函数分为两种,一种是没有参数,则直接回来0-1之间的38位小数

  1. SQL>columnvalueformat9.99999999999999999999999999999999999999
  2. SQL>selectdbms_random.valuefromdual;
  3. VALUE
  4. .58983014999643548701631750396301271752

第二种是加上两个参数a、b,则回来值在a、b之间的38位小数

  1. SQL>columnvalueformat999.999999999999999999999999999999999999
  2. SQL>selectdbms_random.value(100,500)valuefromdual;
  3. VALUE
  4. 412.150194612502916808701157054098274240

留意:不管前面几位,小数点之后都是38位

4、dbms_random.string

这个函数有必要带有两个参数,前面的字符指定类型,后边的数值指定位数(***60)

类型阐明:

  1. 'u','U':uppercasealphacharactersonly
  2. 'l','L':lowercasealphacharactersonly'a','A':alphacharactersonly(mixedcase)
  3. 'x','X':anyalpha-numericcharacters(upper)
  4. 'p','P':anyprintablecharacters
  5. SQL>columnvalueformata30
  6. SQL>selectdbms_random.string('u',30)valuefromdual;
  7. VALUE

上述的相关内容便是对Oracle随机函数的取法的描绘,期望会给你带来一些协助在此方面。

【修改引荐】

  1. Oracle 10g的即时客户端与PHP的装置
  2. 装置Oracle 10g 在redhat linux 的正确计划
  3. Oracle数据库中的(+)衔接怎么操作?
  4. Oracle安全策略的实践用法
  5. Oracle存储过程中怎么精确的完成分页
转载请说明出处
知优网 » Oracle随机函数的正确取法的描绘(oracle取随机数的函数)

发表评论

您需要后才能发表评论