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
.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
多种方法产生Oracle随机数