Oracle dbms_random包主要用于获得随机数,可以为数字也可以为字母等,还可以实现混拼。
常用函数
生成一个0~1间的随机小数(包括0,不包括1):
select dbms_random.value from dual;
返回:0.63907625…
生成一个1~10间的随机小数(包括1和不包括10):
select dbms_random.value(1,10) from dual;
返回:8.537699…
dbms_random.random
The RANDOM function produces integers in the range [-2^^31, 2^^31),注意,区间为左闭右开。
select dbms_random.random from dual;
返回:2049708934
随机从students表中获取10条记录
select *
from
( select *
from students
order by dbms_random.random
)
where rownum <11;
----------------------------------------------------------
dbms_random.string
生成一个指定模式指定位数的随机字符串,可选模式如下:
'u'或'U',仅返回大写字母
'l'或'L',仅返回小写字母
'a'或'A',返回大小写字母混合
'x'或'X',返回大写字母和数字混合
'p'或'P',返回任意可显示字符
select dbms_random.string('u',5) from dual;
返回:MYQHS
select dbms_random.string('L',5) from dual;
返回:vuzke
select dbms_random.string('a',5) from dual;
返回:oZoKA
select dbms_random.string('X',5) from dual;
返回:R6I10
select dbms_random.string('X',6) from dual;
返回:1E-S)%1
2022-3-26