oracle数据库生成随机数的函数

来源:互联网 发布:ocr识别软件绿色版 编辑:程序博客网 时间:2024/03/29 22:19

Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个:

DBMS_RANDOM.VALUE函数

该函数用来产生一个随机数,有两种用法:

1. 产生一个介于01之间(不包含01)的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)

原创粉丝点击