文档

DBMS_RANDOM

更新时间:

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

返回值的格式化选项。取值如下:

  • u或U:大写字母字符串。

  • l或L:小写字母字符串。

  • a或A:混合大小写字符串。

  • x或X:大写字母数字字符串。

  • p或P:任意可打印字符。

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)
  • 本页导读 (0)
文档反馈