oracle 随机选多,关于oracle随机

17:00:59 SQL> desc dbms_random;

Element    Type

---------- ---------

SEED       PROCEDURE

VALUE      FUNCTION

NORMAL     FUNCTION

STRING     FUNCTION

INITIALIZE PROCEDURE

RANDOM     FUNCTION

TERMINATE PROCEDURE

NUM_ARRAY TYPE

使用desc命令查看该过程的结构,其中我们需要用到的也就values 、normal、string、random这四个函数吧,这四个函数都具有取随机值的功能,具体呢就不太一样了。

且看:

17:01:06 SQL> select dbms_random.value() from dual;

DBMS_RANDOM.VALUE()

-------------------

0.0536824248407651

17:05:09 SQL> select dbms_random.value(10,100) from dual;

DBMS_RANDOM.VALUE(10,100)

-------------------------

29.2420951206225

17:05:27 SQL> select dbms_random.value(-1,-4) from dual;

DBMS_RANDOM.VALUE(-1,-4)

------------------------

-3.98278017569502

参照oracle官方文档解释呢,value函数用于返回两个数值之间的随机数,value(low,high),如果你想得到的数值结果介于两个数之间呢,就用value了。

17:05:37 SQL> select dbms_random.normal() from dual;

DBMS_RANDOM.NORMAL()

--------------------

1.09252306706526

17:08:10 SQL> select dbms_random.normal() from dual;

DBMS_RANDOM.NORMAL()

--------------------

-0.279331762111692

至于normal函数呢,那就是真正的随机数啦,出来的结果呢肯定不会让你猜到拉(如果你猜对了,恭喜你,你可以去买彩票啦!)

再看random函数

17:08:12 SQL> select dbms_random.random() from dual;

DBMS_RANDOM.RANDOM()

--------------------

1936087379

17:10:30 SQL> select dbms_random.random() from dual;

DBMS_RANDOM.RANDOM()

--------------------

-972915078

查看官方文档说的是random函数返回的值介于2的31次方和-2的31次方之间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值