oracle随机数函数语法,Oracle产生随机数

这篇博客介绍了在Oracle数据库中如何生成随机数和随机字符串,包括不同范围的整数、浮点数以及正态分布的随机数。此外,还展示了如何创建指定长度的随机数字串和日期,以及生成GUID。对于开发人员在数据库测试和数据填充方面非常实用。
摘要由CSDN通过智能技术生成

1、从表中随机取记录

select * from (select * from staff order by dbms_random.random)

表示从STAFF表中随机取3条记录

2、产生随机数

SELECT DBMS_RANDOM.RANDOM FROM DUAL;

产生一个任意大小的随机数

SELECT ABS(MOD(DBMS_RANDOM.RANDOM,100)) FROM DUAL;

产生一个100以内的随机数

SELECT TRUNC(100+900*dbms_random.value) FROM dual;

产生一个100~1000之间的随机数

SELECT dbms_random.value FROM dual;

产生一个0~1之间的随机数

SELECT dbms_random.value(10,20) FROM dual;

产生一个10~20之间的随机数

SELECT dbms_random.normal FROM dual;

NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。

3、产生随机字符串

SELECT dbms_random.string FROM dual;

返回一个长度达60个字符的随机字符串。  (未试验成功)

select dbms_random.string(’P’,20) from dual;

第一个参数 P 表示 printable,即字符串由任意可打印字符构成

第二个参数表示返回字符串长度

where rownum 

4、长度为20的随机数字串

select substr(cast(dbms_random.value as varchar2(38)),3,20) from dual

5、正态分布的随机数

select dbms_random.normal from dual

6、随机字符串

select dbms_random.string(opt, length) from dual

opt可取值如下:

’u’,’U’  :  大写字母

’l’,’L’  :  小写字母

’a’,’A’  :  大、小写字母

’x’,’X’  :  数字、大写字母

’p’,’P’  :  可打印字符

7、随机日期

select to_date(2454084+TRUNC(DBMS_RANDOM.VALUE(0,365)),’J’) from dual

通过下面的语句获得指定日期的基数

select to_char(sysdate,’J’) from dual

8、生成GUID

select sys_guid() from dual

--生成带分隔符(-)的GUID的自定义函数

create or replace function my_guid

return varchar2

is

guid varchar(36);

temp varchar(32);

begin

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值