Oracle的随机数dbms_random包
简单来说,有dbms_random包通过电话随机数大致有4种。1、dbms_random.normal
这个函数没有参数,可以返回到正态分布的数字类型,所以基本上随机数将介于1和1之间。
简单的测试。最大能量为100000倍,约为5。
SQL代码
声明
i编号:=;
j数=;
开始
在…环
我:= dbms_random.normal;
如果我
那么J =我;
最后如果;
结束循环;
dbms_output.put_line(J);
结束;
5.15325081797418404136433867107468983182
已成功完成
2、dbms_random.random
这不有一个参数,并返回一个整型值的功率(2,31)功率(2,31)
3、dbms_random.value
这个函数分为两种,一种是没有参数,然后直接返回到38位小数之间的> = 0和< 1。
SQL值格式9.99999999999999999999999999999999999999 >栏目
从双> SQL dbms_random.value选择;
价值
-----------------------------------------
58983014999643548701631750396301271752。
第二个是在a和a之间加上两个参数A和B的返回值的38位十进制值。
SQL值格式999.999999999999999999999999999999999999 >栏目
SQL >选择dbms_random.value(100500)值从双;
价值
-----------------------------------------
412.150194612502916808701157054098274240
注:不管前几位,小数点是38。
你可以使用trunc()函数的积分
4、dbms_random.string
函数必须有两个参数,前一个字符指定类型,以及指定数字之后的数字(最大值为60)。
类型描述:
U,U:大写字母字符只
L,L小写字母字符只有:
A,A:阿尔法字符(混合)
‘X',‘X':任何字母数字字符(上)
p,p':任何可打印的字符
SQL >列值格式A30
SQL >选择dbms_random.string(U,30)的值从双;
价值
这个
vtqnlgiselpxedbxkuzlxkbajmutia
SQL >选择dbms_random.string(L,30)的值从双;
价值
这个
uqygsbquingfqdytpgjvdoblxeglgu
SQL >选择dbms_random.string(A,30)的值从双;
价值
这个
ngtgkqypuswhbfcrhiolqwouxkqjjy
SQL >选择dbms_random.string(x,30)的值从双;
价值
这个
uvwonyjmxt31vefpd736wjcj5qt6bd
SQL >选择dbms_random.string('p',30)的值从双;
价值
这个
Mak $(wt4m_7c / + F { _xuscf $ P ZCQ {)
5。关于种子
可以设置种子以确定随机数的起始点。对于同一种子,随机数中的任何变化都将被确定。
也就是说,如果我们在一定时间内调用种子,第一个随机数是4,第二次是6,第三次是1。当再次调用同一种子时,随机生成的数目为4, 6, 1。
有两种种子。一个是数字,另一个是字符类型(最大长度为2000)。
具有二进制整数的种子
程序的种子(Val binary_integer);
语用restrict_references(种子,wnds);
-种子与字符串(长度为2000)
程序的种子(瓦迩空);
语用restrict_references(种子,wnds);
6。关于初始化
整数参数,注释非常清晰:
-过时的,只是调用种子(缬氨酸)
程序初始化(Val binary_integer);
语用restrict_references(初始化,wnds);
这篇文章给你的神谕的随机数dbms_random包,希望对你有帮助学习Oracle的随机数。