在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数其中常用的有以下两个
DBMS_RANDOMVALUE函数
该函数用来产生一个随机数有两种用法
产生一个介于和之间(不包含和)的位精度的随机数语法为
DBMS_RANDOM
VALUE RETURN NUMBER;
这种用法不包含参数
产生一个介于指定范围之内的位精度的随机数语法为
DBMS_RANDOM
VALUE(low INNUMBER
high IN NUMBER) RETURN NUMBER;
这种用法包含两参数参数low用来指定要生成的随机数的下限参数high指定上限生成的随机请注意生成的随机数有可能等于下限但绝对小于上限即“low<=随机数
举个例子: 要产生一个到之间的数可以这样写: DBMS_RANDOMVALUE()
DBMS_RANDOMSTRING函数
该函数产生一个随机字符串语法为
DBMS_RANDOM
STRING (opt IN CHAR
len IN NUMBER) RETURN VARCHAR
;
参数len指定生成的字符串的长度
参数opt指定生成的字符串的样式允许的取值及其表示的含义如下表所示
取值 含义 ‘u’或’U’ 返回一个由大写字母组成的字符串 ‘l’或’L’ 返回一个由小写字母组成的字符串 ‘a’或’A’ 返回一个由大写字母和小写字母组成的字符串 ‘x’或’X’ 返回一个由大写字母和数字组成的字符串 ‘p’或’P’ 返回一个由任意的可打印字符组成的字符串
举个例子: 要产生一个长度为且只包括大写字母的字符串可以这样写: DBMS_RANDOMSTRING(U)