Oracle中的随机数
select * from (select * from base_coun order by sys_guid()) where rownum < 99;
select * from (select * from tablename order by dbms_random.value) where rownum< N;
1、使用dbms_random程序包, 取出随机数据。先创建序列
create sequence tmp_id increment by 1 start with 1 maxvalue 9999999 nocycle nocache;
2. 然后创建一个临时表tmp_1,记录全部取出来。
create table tmp_1 as select tmp_id.nextval as id,email,mobileno from 表名 where 条件;
找到最大的id号:
select max(id) from tmp_1;
3、设定一个生成随机数的种子
execute dbms_random.seed(12345678);
4、调用随机数生成函数dbms_random.value生成临时表tmp_2,假设随机取200个
create table tmp_2 as select trunc(dbms_random.value(1,5000)) as id from tmp_1 where rownum<201;
说明:dbms_random.value(1,5000)是取1到5000间的随机数,会有小数,
trunc函数对随机数字取整,才能和临时表的整数ID字段相对应。
浙公网安备 33010602011771号