Oracle生成随机数大全

select dbms_random.value(1,9999) from dual;   --四位小数,1.99999999-9999.99999999

select trunc(dbms_random.value(1000,9999)) from dual;   --按照指定的精度截取一个整数 1000-9999

select round(dbms_random.value(1000,9999)) from dual;   --按照指定的精度进行四舍五入 1000-9999

select ceil(dbms_random.value(1000,9999)) from dual;  --ceil返回大于或等于,给出数字的最小整数 1000-9999

select floor(dbms_random.value(1000,9999)) from dual;  --floor取整数位 1000-9999

select dbms_random.value from dual;   -- 1以内的小数 结果:0.286026620441709

select dbms_random.value(0,100) from dual;   --小数(0-100之间的小数) 结果:81.9784184125348

select substr(cast(dbms_random.value as varchar(38)),3,20) from dual;   --长度为20的随机字串 结果:49306187585174770109

select dbms_random.normal from dual;   --正态分布随机数   -1.9999 - 1.9999 之间

select dbms_random.string('x',3) from dual;   --随机字符串  结果: W6N

select dbms_random.string('A',20) from dual;  --string函数指定长度为20的随机文本字符串 结果:SvgOIpbguMFctpncqsHI

select to_date(2494984+trunc(dbms_random.value(0,365)),'J') from dual;   --2019 年随机日期 结果: 2119/7/2

select to_char(sysdate,'J') from dual;   --指定日期基数 2494984 配合上面一条使用

select sys_guid() from dual;  --生成GUID

select to_char(to_date('01/01/03','mm/dd/yy'),'J') from dual;   --2452641

select to_date(trunc(dbms_random.value(2452641,2452641+364)),'J') from dual;  --2003年内的任意日期

update tableName t1 set t1.colName = dbms_random.value(0,100);

原文地址:https://www.cnblogs.com/luckgood/p/12028317.html