Oracle中生成随机数的函数
来源:互联网 发布:淘宝的名称叫什么好听 编辑:程序博客网 时间:2024/04/28 10:36
在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个:
DBMS_RANDOM.VALUE函数
该函数用来产生一个随机数,有两种用法:
1. 产生一个介于0和1之间(不包含0和1)的38位精度的随机数,语法为:
DBMS_RANDOM.VALUE RETURN NUMBER;
这种用法不包含参数。
2. 产生一个介于指定范围之内的38位精度的随机数,语法为:
DBMS_RANDOM.VALUE(low IN NUMBER,high IN NUMBER) RETURN NUMBER;
这种用法包含两参数,参数low用来指定要生成的随机数的下限,参数high指定上限,生成的随机。请注意生成的随机数有可能等于下限,但绝对小于上限,即“low<=随机数<high”。
举个例子: 要产生一个1到100之间的数可以这样写: DBMS_RANDOM.VALUE(1,100)
DBMS_RANDOM.STRING函数
该函数产生一个随机字符串,语法为:
DBMS_RANDOM.STRING (opt IN CHAR,len IN NUMBER) RETURN VARCHAR2;
参数len指定生成的字符串的长度。
参数opt指定生成的字符串的样式,允许的取值及其表示的含义如下表所示:
取值
含义
‘u’或’U’
返回一个由大写字母组成的字符串
‘l’或’L’
返回一个由小写字母组成的字符串
‘a’或’A’
返回一个由大写字母和小写字母组成的字符串
‘x’或’X’
返回一个由大写字母和数字组成的字符串
‘p’或’P’
返回一个由任意的可打印字符组成的字符串
举个例子: 要产生一个长度为6且只包括大写字母的字符串,可以这样写: DBMS_RANDOM.STRING('U',6)
附转:“伪随机数”和“随机种子”
首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。
所谓的随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似 的模拟完全随机数,这种随机数被称作伪随机数。伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,但是从实用的角度而言, 其随机程度已足够了。伪随机数的选择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地“随机”,随机种子的选择就显得非常重要。如果随机种子 一样,那么同一个随机数发生器产生的随机数也会一样。一般地,我们使用同系统时间有关的参数作为随机种子。
- Oracle中生成随机数的函数
- Oracle中生成随机数的函数
- Oracle中生成随机数的函数(转载)
- oracle生成随机数函数
- oracle数据库生成随机数的函数
- oracle 中生成随机数
- oracle 中生成随机数
- Oracle中生成随机数
- Oracle中生成随机数方法
- Oracle生成随机数的方法
- Oracle中生成随机数UUID的方法(sys_guid())
- JavaScript中Math.random()方法生成随机数的通用函数
- MATLAB中常用的几种随机数生成函数
- ABAP 生成随机数的函数
- Cocos2D的随机数生成函数
- oracle随机数函数的问题
- OpenCV中随机数的生成
- C++中随机数的生成
- MFC中改变控件的TAB顺序
- javascript的防御式编程
- VS项目属性的一些配置项的总结(important)
- 天猫首页迷思之-jquery实现整个div的懒加载(1)
- Hibernate - fetch和select两种抓取方式对比
- Oracle中生成随机数的函数
- 数据结构中排序算法- 基数排序(5)
- 《git权威指南》第3章 git的安装和使用--读书笔记
- DB2端口无法访问问题分析
- ARM Linux 3.x的设备树(Device Tree)
- Android 属性动画 (一)
- Mysql的存储引擎之:MERGE存储引擎
- leetcode: Binary Tree Maximum Path Sum
- 使用ScrollView属性fillViewport解决android布局不能撑满全屏的问题