生成随机数,oracle中采用的是dbms_random.value函数。

dbms_random是一个可以生成随机数值或者字符串的程序包。这个包包含以下等几个参数:

  • initialize()
  • seed()
  • terminate()
  • value()
  • normal()
  • random()
  • string()

其中value()是最常用的。value()的用法一般有两种:

第一种 :function value return number:

这种用法没有参数,会返回一个具有38位精度的数值,范围从0.0到1.0,但不包括1.0,如下:

select dbms_random.value() from dual

上述程序运行结果为:0.265729284748573

第二种:value带有两个参数

第一个指下限,第二个指上限,将会生成下限到上限之间的随机数,但不包含上限,如下:

select dbms_random.value(1,7) from dual

上述程序运行结果为:3.38380283953849

两者合起来用 trunc(dbms_random.value(1,7)) ,也就是随机取得整数X , 其中1<= X < 7, 如下:

select trunc(dbms_random.value(1, 7)) from dual

上述程序运行结果为:3

转载自Oracle中生成随机数方法

更多推荐

oracle数据库中生成随机数方法