时间:2021-07-01 10:21:17 帮助过:490人阅读
在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个:
在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<=随机数 举个例子: 要产生一个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)