1、从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 表示从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; ...
1、获取10-100的数据,保留两位小数select trunc(dbms_random.value(10,100),2) from dual ;2、获取0-1的小数 select dbms_random.value from dual ;3、获取随机字母-3个select dbms_random.string(‘x‘, 3) from dual ;4、获取随机日期select to_date(2454084+TRUNC(DBMS_RANDOM.VALUE(0,365)),‘J‘) from dual ;5、生成唯一字符串 select sys_guid() from dual ; 应用举例:给某表的某些字段随机产生测试数据update AAAset zyl...
1SELECT A.*FROM TableA A CROSSJOIN (SELECT TRUNC(DBMS_RANDOM.VALUE(0, 999999999999999999999)) RANDOMNUM FROM DUAL) B ORDERBY B.RANDOMNUM 原文:http://www.cnblogs.com/yomho/p/3745065.html
在测试过程中,经常要产生一些随机数,为此,oracle提供了DBMS_RANDOM 这个包去产生随机数挺好用的。下面小结下: 这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数 1)dbms_random.value 没有参数,会返回一个具有38位精度的数值,范围从0.0到1.0,但不包括1.0, 比如: for i in 1..10 loop dbms_output.put_line(round(dbms_random.value*100)); end loop; 如果带有...
SQL SERVER下生成随机数据干得多,可是到了Oracle下我就傻了。没用过Oracle,不知道该怎么办?SQL SERVER下依靠TABLESAMPLE或者CHECKSUM(NEWID())来做随机抽样,Oracle则有它自己的随机抽样方法。这里找到一篇文章讲得挺好的:http://www.cnblogs.com/Athrun/archive/2009/04/25/1443619.htmlOracle下随机取样相关的办法有:1)SAMPLE(percent)2)SAMPLE BLOCK(percent)3)dbms_random包,包括dbms_random.random,dbms_random.val...
create table test(loc varchar2(2 char));Table created.构造能随机读取元素的SQL语句select case mod(abs(dbms_random.random),5)when 1 then ‘北京‘when 2 then ‘上海‘when 3 then ‘广州‘when 4 then ‘深圳‘else ‘武汉‘ end "LOC"
from dual;大批量填充test表的loc字段beginfor i in 1..10 loopinsert into test values(case mod(abs(dbms_random.random),5)when 1 then ‘北京‘when 2 then ‘上海‘when 3 then ‘广...
Sql代码
1.
SQL> select dbms_random.value() from dual; 2.
3.
DBMS_RANDOM.VALUE() 4.
------------------- 5.
0.146123095968043 6.
7.
SQL> select dbms_random.value() from dual; 8.
9.
DBMS_RANDOM.VALUE() 10.------------------- 11. 0.90175764902345
Sql代码
1.
SQL> select dbms_random.value(1,10) from dual; 2.
3.
DBMS_RANDOM.VALUE(1,10) 4.
---------------------...
视频地址:http://www.tudou.com/programs/view/Wxt6YysqXuwJava-Oracle-Excel随机生成测试数据标签:随机 oracle 函数 dbms_random 本文系统来源:http://blog.csdn.net/xiaokui_wingfly/article/details/45953813
该函数用来产生一个随机数,有两种用法:
1. 产生一个介于0和1之间(不包含0和1)的38位精度的随机数,语法为:
DBMS_RANDOM.VALUE RETURN NUMBER;
这种用法不包含参数。
2. 产生一个介于指定范围之内的38位精度的随机数,语法为:
DBMS_RANDOM.VALUE(low IN NUMBER,high IN NUMBER) RETURN NUMBER;
这种用法包含两参数,参数low用来指定要生成的随机数的下限,参数high指定上限,生成的随机。请注意生成的随机数有可能等于下...
* from NUMBERS SAMPLE(0.1) order by ID ASC;select * from (
select * from NUMBERS
order by dbms_random.random )
where rownum <= 100
order by ID ASC; select * from (
select * from NUMBERS
order by dbms_random.value )
where rownum <= 100
order by ID ASC; SAMPLE的结果输出了112行,表的行数是10万行,percent为0.1,按道理应该输出100行整。证明SAMPLE对于行数还是不确定。这里还得再离散提取前100行出来。不过...
本文系统来源:http://blog.csdn.net/qq525099302/article/details/47146067
本文系统来源:http://blog.csdn.net/qq525099302/article/details/47253351
要产生两位的随机数,可以DBMS_RANDOM.VALUE()*100,这样产生( 0,100 )的随机数,当产生( 0,10)之间的数时,只要加上10就可以保证产生的数都是两位了。
ORACLE的PL/SQL提供了生成随机数和随机字符串的多种方式,罗列如下:1、小数( 0 ~ 1) select dbms_random.value from dual2、指定范围内的小数 ( 0 ~ 100 ) select dbms_random.value(0,100) from dual3、指定范围内的整数 ( 0 ~ 100 ) select trunc(dbms_random.val...
1、获取10-100的数据,保留两位小数
select trunc(dbms_random.value(10,100),2) from dual ;
2、获取0-1的小数
select dbms_random.value from dual ;
3、获取随机字母-3个
select dbms_random.string(‘x‘, 3) from dual ;
4、获取随机日期
select to_date(2454084+TRUNC(DBMS_RANDOM.VALUE(0,365)),‘J‘) from dual ;
5、生成唯一字符串
select sys_guid() from dual ;
应用举例:
给某表的某些字段随机产生测试数据
upda...
dbms_random.value random from dual
2、生成一个指定范围的随机数select
dbms_random.value(0,100) random
from dual
注:范围交换位子是可行的。
3、获取正态分布的随机数 select dbms_random.normal from dual
4、获取随机的字符串
通过dbms.random.string(参数一,参数二),这个函数接受两个参数,第一个是随机字符串的类型,第二个是字符串的长度
字符串类型有以下几个:
(1)、‘u‘,‘U‘ : upper case alpha characters only ...