您的位置:首页 > 数据库 > Oracle

ORACLE里取随机数

2005-09-01 11:18 375 查看
ORACLE就是不一样,取随机数竟然不是用的函数,
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()函数使用不正确。各种编程语言返回的随机数(确切地说是伪随机数)实际上都是根据递推公式计算的一组数值,当序列足够长,这组数值近似满足均匀分布。如果计算伪随机序列的初始数值(称为种子)相同,则计算出来的伪随机序列就是完全相同的。这个特性被有的软件利用于加密和解密。加密时,可以用某个种子数生成一个伪随机序列并对数据进行处理;解密时,再利用种子数生成一个伪随机序列并对加密数据进行还原。
http://www.adp-gmbh.ch/ora/plsql/dbms_random.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: