oracle的随机数

来源:互联网 发布:锁定Windows的快捷键 编辑:程序博客网 时间:2024/06/10 23:25
 ORACLE里面取随机数,用到是dbms_random这个包
1. dbms_random.value 

2.第二种形式返回一个大于或等于 LOW ,小于 HIGH 的随机数。

dbms_random.value(55,100) 

3.NORMAL 函数返回服从正态分布的一组数。此正态分布标准偏差为 1 ,期望值为 0 。这个函数返回的数值中有 68% 是介于 -1 与 +1 之间, 95% 介于 -2 与 +2 之间, 99% 介于 -3 与 +3 之间
dbms_random.normal

4.string 函数返回一个长度达 60 个字符的随机字符串

dbms_random.string(opt, len);
The function string returns a string whose length is determined by the len argument.
The returned string's characteristics are determined by the opt argument. opt must be a char. The following five options are possible:
'u' or 'U':Upper case alpha characters'l' or 'L':Lower case alpha characters'a' or 'A':Upper and lower case alpha characters'x' or 'X':Upper alpha and numeric characters'p' or 'P':Any printable character

概念说明-随机数的种子:(dbms_random.seek(12345678))
     之所以rand()每次的随机数都一样是因为rand()函数使用不正确。各种编程语言返回的随机数(确切地说是伪随机数)实际上都是根据递推公式计算的一组数值,当序列足够长,这组数值近似满足均匀分布。如果计算伪随机序列的初始数值(称为种子)相同,则计算出来的伪随机序列就是完全相同的。这个特性被有的软件利用于加密和解密。加密时,可以用某个种子数生成一个伪随机序列并对数据进行处理;解密时,再利用种子数生成一个伪随机序列并对加密数据进行还原。

原创粉丝点击