一、dbms_random.random --> 整数
--1) 基本语法:随机生成一个从-power(2,31)到power(2,31)的整数值,注意,区间为左闭右开。
select dbms_random.random from dual;
--2)随机从emp表中获取3条记录
select * from (select * from emp order by dbms_random.random) where rownum <= 3;
二、dbms_random.value --> 小数
--1) 基本语法:生成一个0到1的38位精确度随机小数, 左闭右开
select dbms_random.value from dual;
--2) 带参数: 生成一个1到100的随机小数, 左闭右开
select dbms_random.value(1,100) from dual;
select round(dbms_random.value(1,100)) from dual; --四舍五入取整
三、dbms_random.string -->字符串
select dbms_random.string('U',16) from dual; --大写字母
select dbms_random.string('L',16) from dual; --小写字母
select dbms_random.string('A',16) from dual; --大小写字母混合
select dbms_random.string('X',16) from dual; --大写字母和数字混合
select dbms_random.string('P',16) from dual; --可打印字符
select dbms_random.string from dual --报错, 必须带参数
掩码 | 说明 |
---|---|
'u'或'U' | 仅返回大写字母 |
'l'或'L' | 仅返回小写字母 |
'a'或'A' | 大写字母 + 小写字母 = 混合 |
'x'或'X' | 大写字母 + 随机数字 = 混合 |
'p'或'P' | 返回任意可打印字符 |