DBMS_RANDOM内置包提供了内建的随机数生成器。
DBMS_RANDOM子程序总览
子程序 | 说明 |
子程序 | 说明 |
INITIALIZE Procedure | 使用指定的种子初始化DBMS_RANDOM包。 |
NORMAL Function | 返回一个满足正态分布的随机数。 |
RANDOM Function | 返回一个INTEGER类型的随机数。 |
SEED Procedures | 重置DBMS_RANDOM包种子值。 |
STRING Function | 返回用户指定形式的一个随机VARCHAR2类型字符串。 |
TERMINATE Procedure | 终止包的使用。 |
VALUE Functions | 返回一个指定范围内的NUMBER类型的随机数。 |
INITIALIZE Procedure
该存储过程使用指定的种子初始化DBMS_RANDOM包。
语法
DBMS_RANDOM.INITIALIZE(val IN INTEGER);
参数说明
参数 | 说明 |
参数 | 说明 |
val | 用于生成随机数的指定种子值。 |
示例
该示例展示了如何用指定的数字初始化DBMS_RANDOM的种子值。
EXEC DBMS_RANDOM.INITIALIZE(100);
NORMAL Function
该函数用于返回一个NUMBER类型的满足正态分布的随机数。
语法
DBMS_RANDOM.NORMAL() RETURN NUMBER;
返回值
返回值 | 说明 |
返回值 | 说明 |
NUMBER | 满足正态分布的随机数。 |
示例
该示例展示了如何获取一个满足正态分布的随机数。
SELECT DBMS_RANDOM.NORMAL() FROM DUAL;
normal
----------------------
-0.48004454788674555
(1 row)
RANDOM Function
该函数用于返回一个INTEGER类型的随机数。
语法
DBMS_RANDOM.RANDOM RETURN INTEGER;
返回值
返回值 | 说明 |
返回值 | 说明 |
INTEGER | 返回的随机整数。 |
示例
该示例展示了如何获取一个随机整数。
SELECT DBMS_RANDOM.RANDOM() FROM DUAL;
random
------------
1078289776
(1 row)
SEED Procedures
该存储过程用于重置种子值。
语法
DBMS_RANDOM.SEED(val IN INTEGER);
DBMS_RANDOM.SEED(val IN VARCHAR2);
参数说明
参数 | 说明 |
参数 | 说明 |
val | INTEGER或者VARCHAR类型的输入值,用于指定新的种子值。 |
示例
该示例展示了如何使用该存储过程重置种子值。
EXEC DBMS_RANDOM.SEED(1);
EXEC DBMS_RANDOM.SEED('test seed');
STRING Function
该函数用于返回用户指定形式的一个随机VARCHAR2类型字符串。
语法
DBMS_RANDOM.STRING(
opt IN CHAR,
len IN NUMBER)
RETURN VARCHAR2;
参数说明
参数 | 说明 |
参数 | 说明 |
opt | 返回值的格式化选项。取值如下:
|
len | 返回值的长度。 |
返回值
返回值 | 说明 |
返回值 | 说明 |
VARCHAR2 | 返回的随机字符串。 |
示例
该示例展示了如何获取一个指定格式的随机字符串。
SELECT DBMS_RANDOM.STRING('X', 10) FROM DUAL;
string
------------
MD6LDO7JLJ
(1 row)
TERMINATE Procedure
该存储过程用于终止DBMS_RANDOM包的使用。
语法
DBMS_RANDOM.TERMINATE();
示例
EXEC DBMS_RANDOM.TERMINATE;
VALUE Functions
该函数用于返回一个指定范围内的NUMBER类型的随机数。
语法
DBMS_RANDOM.VALUE() RETURN NUMBER;
DBMS_RANDOM.VALUE(
low IN NUMBER,
high IN NUMBER)
RETURN NUMBER;
参数说明
参数 | 说明 |
参数 | 说明 |
low | 指定生成的随机数的下边界。随机数大于等于low。 |
high | 指定生成的随机数的上边界。随机数小于high。 |
返回值
返回值 | 说明 |
返回值 | 说明 |
NUMBER | 返回的随机数。 |
示例
该示例展示了如何获取指定范围内的随机数。
SELECT DBMS_RANDOM.VALUES(0.0, 10) FROM DUAL;
value
-------------------
8.401877167634666
(1 row)
- 本页导读 (1)
- DBMS_RANDOM子程序总览
- INITIALIZE Procedure
- 语法
- 参数说明
- 示例
- NORMAL Function
- 语法
- 返回值
- 示例
- RANDOM Function
- 语法
- 返回值
- 示例
- SEED Procedures
- 语法
- 参数说明
- 示例
- STRING Function
- 语法
- 参数说明
- 返回值
- 示例
- TERMINATE Procedure
- 语法
- 示例
- VALUE Functions
- 语法
- 参数说明
- 返回值
- 示例