1、从表中随机取记录
select*from(select*fromstafforderby 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.normalFROM 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,即字符串由任意可打印字符构成
第二个参数表示返回字符串长度
第二个参数表示返回字符串长度
whererownum<4
多种方法产生Oracle随机数
本文介绍了在Oracle数据库中如何使用DBMS_RANDOM包生成各种类型的随机数,包括整数、浮点数、正态分布数及随机字符串,并展示了如何通过ORDER BY DBMS_RANDOM.RANDOM来随机抽取表中的记录。
705

被折叠的 条评论
为什么被折叠?



