- 浏览: 7983440 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在测试过程中,经常要产生一些随机数,为此,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;
如果带有上下限的,比如:
dbms_random.value(1,101) 则生成的为:将会生成下限到上限之间的数字,但不包含上限
2) dbms_random.string方法
Delect dbms_random.string('P',4 ) from dual ;
第一个参数含义如下
u', 'U' - 返回大写字母
'l', 'L' - 返回小写字母
'a', 'A' - 返回大小写混合字母
'x', 'X' - 大小写字母+数字混合
'p', 'P' -
P 表示 printable,即字符串由任意可打印字符构成
而第二个参数表示返回的字符串长度。
3) dbms_random.normal
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。
4)dbms_random.random 方法
random返回的是BINARY_INTEGER类型值,产生一个任意大小的随机数
与dbms_random.value 的区别举例:
Order By dbms_random.value;
这条语句功能是实现记录的随机排序
另外:
dbms_random.value 和
dbms_random.random 两者之间有什么区别?
1。Order By dbms_random.value ,为结果集的每一行计算一个随机数,dbms_random.value 是结果集的一个列(虽然这个列并不在select list 中),然后根据该列排序,得到的顺序自然就是随机的啦。
2。看看desc信息便知道vlue和random这两个函数的区别了,value返回的是number类型,并且返回的值介于1和0之间,而random返回的是BINARY_INTEGER类型
5)生成随机日期
Oracle将日期作为过去某个关键日期(如果你好奇的话,我可以告诉你这个日期是公元前4712年1月1日)的整数偏移量来保存。这就意味着你可以通过寻找与你希望的起始日期相对应的整数,然后向它加入一个随机的整数来随机生成一个指定范围内的日期。
使用TO_CHAR函数和‘J’格式代码,你可以为今天的日期生成一个内部日期数:
SELECT TO_CHAR(SYSDATE, 'J') FROM DUAL;
例如,要生成一个2012年内的任意日期,你可以首先确定2012年1月1日的日期整数;
SELECT TO_CHAR(TO_DATE('01/01/12','mm/dd/yy'),'J')FROM DUAL;
系统给的结果是2455928。所以要生成该年度内的任意日期,我们就要用带有low_value等于2455928和high_value等于2455928+365参数的DBMS_RANDOM.VALUE,再把它转换成日期:
SELECT TO_DATE(TRUNC(DBMS_RANDOM.VALUE(2455928,2455928+365)),'J') FROM DUAL;
6) 来个综合的例子:
SELECT LEVEL empl_id,
MOD (ROWNUM, 50000) dept_id,
TRUNC (DBMS_RANDOM.VALUE (1000, 500000), 2) salary,
DECODE (ROUND (DBMS_RANDOM.VALUE (1, 2)), 1, 'M', 2, 'F') gender,
TO_DATE ( ROUND (DBMS_RANDOM.VALUE (1, 28))
|| '-'
|| ROUND (DBMS_RANDOM.VALUE (1, 12))
|| '-'
|| ROUND (DBMS_RANDOM.VALUE (1900, 2010)),
'DD-MM-YYYY'
) dob,
DBMS_RANDOM.STRING ('x', DBMS_RANDOM.VALUE (20, 50)) address
FROM DUAL
CONNECT BY LEVEL < 10000;
这个包去产生随机数挺好用的。下面小结下:
这个包有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;
如果带有上下限的,比如:
dbms_random.value(1,101) 则生成的为:将会生成下限到上限之间的数字,但不包含上限
2) dbms_random.string方法
Delect dbms_random.string('P',4 ) from dual ;
第一个参数含义如下
u', 'U' - 返回大写字母
'l', 'L' - 返回小写字母
'a', 'A' - 返回大小写混合字母
'x', 'X' - 大小写字母+数字混合
'p', 'P' -
P 表示 printable,即字符串由任意可打印字符构成
而第二个参数表示返回的字符串长度。
3) dbms_random.normal
NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。
4)dbms_random.random 方法
random返回的是BINARY_INTEGER类型值,产生一个任意大小的随机数
与dbms_random.value 的区别举例:
Order By dbms_random.value;
这条语句功能是实现记录的随机排序
另外:
dbms_random.value 和
dbms_random.random 两者之间有什么区别?
1。Order By dbms_random.value ,为结果集的每一行计算一个随机数,dbms_random.value 是结果集的一个列(虽然这个列并不在select list 中),然后根据该列排序,得到的顺序自然就是随机的啦。
2。看看desc信息便知道vlue和random这两个函数的区别了,value返回的是number类型,并且返回的值介于1和0之间,而random返回的是BINARY_INTEGER类型
5)生成随机日期
Oracle将日期作为过去某个关键日期(如果你好奇的话,我可以告诉你这个日期是公元前4712年1月1日)的整数偏移量来保存。这就意味着你可以通过寻找与你希望的起始日期相对应的整数,然后向它加入一个随机的整数来随机生成一个指定范围内的日期。
使用TO_CHAR函数和‘J’格式代码,你可以为今天的日期生成一个内部日期数:
SELECT TO_CHAR(SYSDATE, 'J') FROM DUAL;
例如,要生成一个2012年内的任意日期,你可以首先确定2012年1月1日的日期整数;
SELECT TO_CHAR(TO_DATE('01/01/12','mm/dd/yy'),'J')FROM DUAL;
系统给的结果是2455928。所以要生成该年度内的任意日期,我们就要用带有low_value等于2455928和high_value等于2455928+365参数的DBMS_RANDOM.VALUE,再把它转换成日期:
SELECT TO_DATE(TRUNC(DBMS_RANDOM.VALUE(2455928,2455928+365)),'J') FROM DUAL;
6) 来个综合的例子:
SELECT LEVEL empl_id,
MOD (ROWNUM, 50000) dept_id,
TRUNC (DBMS_RANDOM.VALUE (1000, 500000), 2) salary,
DECODE (ROUND (DBMS_RANDOM.VALUE (1, 2)), 1, 'M', 2, 'F') gender,
TO_DATE ( ROUND (DBMS_RANDOM.VALUE (1, 28))
|| '-'
|| ROUND (DBMS_RANDOM.VALUE (1, 12))
|| '-'
|| ROUND (DBMS_RANDOM.VALUE (1900, 2010)),
'DD-MM-YYYY'
) dob,
DBMS_RANDOM.STRING ('x', DBMS_RANDOM.VALUE (20, 50)) address
FROM DUAL
CONNECT BY LEVEL < 10000;
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11456mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16320https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1836权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 843图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 592要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1352| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1331在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2258mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1180mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1505procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1363mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1509mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1171oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1157一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 23131.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2381http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 370810g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1114在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8438留意到mysql 5.6中,可以使用select now(6) ... -
<<oracle索引技术》读书笔记1
2013-08-25 16:23 1351expert indexing in oracle datab ...
相关推荐
在Oracle数据库系统中,`DBMS_RANDOM`是一个非常实用的包,它提供了生成随机数和随机字符串的功能。这个包在各种场景下都有广泛的应用,比如在测试数据的生成、模拟随机行为或者创建伪随机数据时。我们将深入探讨`...
除了使用 DBMS_RANDOM 包外,还有其他方法可以生成随机数,例如使用 Oracle 的内置函数、使用 PL/SQL 语言等。这些方法可以根据实际情况选择。 Oracle 提供了多种方法来生成随机数,每种方法都有其优缺点,选择合适...
在性能测试中,可以使用`dbms_random.value`来生成随机负载;在安全测试中,`dbms_random.string`可用于创建不可预测的密码或ID。在数据分析中,`dbms_random.normal`可以帮助模拟符合正态分布的变量,以测试统计...
Oracle数据库中的DBMS_RANDOM包是一个非常实用的工具,它提供了生成随机数和随机字符串的功能,广泛应用于各种场景,包括测试、模拟数据生成等。本文将详细介绍DBMS_RANDOM包的四个主要函数及其用法。 1. **dbms_...
这里使用了`DBMS_RANDOM.VALUE()`函数生成一个0到1之间的随机数,并通过比较判断返回0或1。 ```sql CREATE OR REPLACE FUNCTION F_Random_ZeroOrOne(in_text IN NUMBER) RETURN NUMBER IS BEGIN IF in_text > 0.75...
首先,我们可以使用 Oracle 自带的 dbms_random 程序包来生成随机数。dbms_random 是一个 PL/SQL 包,位于 $ORACLE_HOME/rdbms/admin/dbmsrand.sql 目录下。为了使用该包,我们需要先在 sys 用户下编译该文件,即...
总的来说,Oracle的DBMS_RANDOM包提供了丰富的功能,能够满足大部分在SQL中生成随机数的需求。通过熟练掌握这些函数,你可以根据业务需要灵活地生成各种类型的随机数,从而提升数据处理的多样性和真实性。记得在实际...
dbms_random提供随机数生成功能,常用于测试和模拟。 dbms_logmnr(Log Miner)工具允许分析归档日志,以获取历史数据库活动的详细信息。dbms_flashback提供闪回功能,用于恢复到过去的数据库状态。dbms_...
Oracle 中生成随机日期可以通过 `DBMS_RANDOM.VALUE` 结合日期转换函数实现。首先,你可以使用 `TO_CHAR(SYSDATE, 'J')` 得到当前日期的基数(内部日期数),然后在一定范围内生成一个随机数并转换回日期。例如: ``...
在Oracle数据库环境中,生成随机数是一项常见且实用的操作,它被广泛应用于数据模拟、测试、安全性和数据分析等领域。本文将深入探讨如何在Oracle中生成不同类型的随机数,包括字符型、数值型以及GUID,旨在为数据库...
如果你需要从正态分布中获取随机数,可以使用`dbms_random.normal`函数。这个函数返回的是标准正态分布(均值为0,标准差为1)的随机数。若需调整均值和标准差,可以进行相应的转换。 5. 随机生成日期: Oracle...
DBMS_RANDOM是Oracle提供的一组实用程序,用于生成随机数,这对于模拟、测试或者在数据库中创建随机数据非常有用。在这个场景下,我们将主要用到`DBMS_RANDOM.RANDOM`函数。 `DBMS_RANDOM.RANDOM`函数返回一个在0...
`DBMS_RANDOM`包提供了生成随机数的功能,这里我们使用`DBMS_RANDOM.VALUE(0,100)`来生成介于0到100之间的随机整数。这个随机数可以用作业务逻辑中的各种统计或者概率计算。 #### 5. 使用`DBMS_RANDOM.STRING`生成...
总的来说,Oracle的DBMS_RANDOM包提供了一套强大的工具,可以满足你在数据库中生成随机数和选取随机记录的各种需求。在使用过程中,记得关注性能优化和数据库的最佳实践,以确保操作的高效性和准确性。
`dbms_random`是Oracle提供的包,包含了一系列随机数生成函数,`value`函数可以生成指定范围内的随机数。通过`trunc`函数,我们可以将其转换为整数。 #### 4. **随机字符串生成** `dbms_random.string('x',20)`...
在Oracle中,可以通过使用`SYS_GUID()`或`DBMS_RANDOM`包来实现随机排序,从而达到随机抽样的目的。例如: ```sql SELECT * FROM (SELECT * FROM TB_PHONE_NO ORDER BY SYS_GUID()) WHERE ROWNUM ; ``` 此语句将从`...
- **示例**:使用`DBMS_XMLGEN.GETXML`可以基于数据库中的表生成XML数据。 #### 五、结语 通过学习《Oracle 8i Supplied PL/SQL Packages Reference》,DBA和开发人员可以更好地利用Oracle 8i提供的各种内置工具...
4. **Oracle中的DBMS_RANDOM.RANDOM**: Oracle数据库提供DBMS_RANDOM包,其中的RANDOM函数可以生成整数。例如,生成1到100的随机数: ```sql SELECT DBMS_RANDOM.VALUE(1, 100) AS RandomNumber FROM DUAL; ```...