更新时间:2026-10-21 GMT+08:00
分享

DBE_RANDOM

接口介绍

高级功能包DBE_RANDOM支持的接口请参见表1。

表1 DBE_RANDOM接口参数说明

接口名称

描述

DBE_RANDOM.SET_SEED

设置一个随机数的种子。

DBE_RANDOM.GET_VALUE

生成一个大小介于指定的low及high之间的随机数。

  • DBE_RANDOM.SET_SEED

    存储过程SEED用于设置一个随机数的种子。

    DBE_RANDOM.SET_SEED原型为:

    DBE_RANDOM.SET_SEED (seed  IN  INTEGER);
    表2 DBE_RANDOM.SET_SEED接口参数说明

    参数

    描述

    seed

    用于产生一个随机数的种子。

  • DBE_RANDOM.GET_VALUE

    函数GET_VALUE生成一个大小介于指定的low及high之间的随机数。

    DBE_RANDOM.GET_VALUE原型为:

    DBE_RANDOM.GET_VALUE(
    min  IN  NUMBER default 0,
    max  IN  NUMBER default 1)
    RETURN NUMBER;
    表3 DBE_RANDOM.GET_VALUE接口参数说明

    参数

    描述

    min

    指定随机数大小的下边界,生成的随机数大于或等于min。

    max

    指定随机数大小的上边界,生成的随机数小于max。

    • DBE_RANDOM.GET_VALUE要求参数类型是NUMERIC,对于左右边界的大小没有要求。
    • DBE_RANDOM实现的是伪随机,所以若使用的初值(种子)不变,那么伪随机数的数序也不变,使用时需要注意,建议不要在安全场景下使用DBE_RANDOM。
    • 生成的随机数有效数字为15位。

    示例:

    -- 产生0到1之间的随机数。
    SELECT DBE_RANDOM.GET_VALUE(0,1);
        get_value     
    ------------------
     .917468812743886
    (1 row)
    
    -- 对于指定范围内的整数,要加入参数min和max,并从结果中截取较小的数(最大值不能被作为可能的值)。所以对于0到99之间的整数,使用下面的代码。
    SELECT TRUNC(DBE_RANDOM.GET_VALUE(0,100));
     trunc 
    -------
        26
    (1 row)

相关文档