3. RANDOM
RANDOM返回值的范围为: [-2^31, 2^31),返回的是整数。
语法:
DBMS_RANDOM.RANDOM
RETURN binary_integer;
举例:
SQL> select dbms_random.random from dual;
RANDOM
----------
-1.363E+09
4. SEED
功能和INITIALIZE函数类似,实际上,INITIALIZE函数被淘汰,推荐的替代函数即是SEED函数。与INITIALIZE函数不同的是SEED函数同时支持数值和字符作为种子值,而INITIALIZE函数只支持数值。
语法:
DBMS_RANDOM.SEED (
val IN BINARY_INTEGER);
DBMS_RANDOM.SEED (
val IN VARCHAR2);
举例:
BEGIN
dbms_random.seed('hello');
FOR i IN 1 .. 10 LOOP
dbms_output.put_line(round(dbms_random.value * 100));
END LOOP;
END;
输出如下:
58
71
33
4
39
53
93
37
20
5
其中,VARCHAR2的最大范围为2000.
5. STRING
随机生成字符串
语法:
DBMS_RANDOM.STRING
opt IN CHAR,
len IN NUMBER)
RETURN VARCHAR2;
关于opt和len的说明,解释如下:
可见,opt指的是字符串的格式,len指的是字符串的长度。
举例:
SQL> select dbms_random.string('u',10) value from dual; VALUE -------------------- MCPEZLEQOO SQL> select dbms_random.string('l',10) value from dual; VALUE -------------------- laufaqufln SQL> select dbms_random.string('a',10) value from dual; VALUE -------------------- vjEetXlItt SQL> select dbms_random.string('x',10) value from dual; VALUE -------------------- LAMDGZE22E SQL> select dbms_random.string('p',10) value from dual; VALUE -------------------- 4LF =Q'(fP |