GaussDB-DBE_RANDOM

107 阅读1分钟

GaussDB-DBE_RANDOM

接口介绍

高级功能包DBE_RANDOM支持的所有接口请参见表 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);

    | ------------------------------------------------- |
    
    | 参数   | 描述            |
    | :--- | :------------ |
    | 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;

    | --------------------------------------------------------------------------------------------------- |
    
    | 参数  | 描述                          |
    | :-- | :-------------------------- |
    | min | 指定随机数大小的下边界,生成的随机数大于或等于min。 |
    | max | 指定随机数大小的上边界,生成的随机数小于max。    |
    

  • 实际上,只要求这里的参数类型是NUMERIC即可,对于左右边界的大小并没有要求。
  • 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)

| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>