http://blog.sina.com.cn/s/blog_6a01140c0100wimi.html

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;
         产生一个100~1000之间的随机数

SELECT dbms_random.value FROM dual;
         产生一个0~1之间的随机数

SELECT dbms_random.value(10,20) FROM dual;
         产生一个10~20之间的随机数

SELECT dbms_random.normal FROM dual;
         NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。

3、产生随机字符串

select dbms_random.string('P',20) from dual;
         第一个参数 P 表示 printable,即字符串由任意可打印字符构成
         第二个参数表示返回字符串长度

4、ceil( n )函数是返回大于或等于n的最小整数。
DBMS_RANDOM.VALUE()是随机产生( 0,1 )之间的数。
要产生两位的随机数,可以DBMS_RANDOM.VALUE()*100,这样产生( 0,100 )
的随机数,当产生( 0,10)之间的数时,只要加上10就可以保证产生的数都是两位了。

ORACLE的PL/SQL提供了生成随机数和随机字符串的多种方式,罗列如下:

1、小数( 0 ~ 1)

select dbms_random.value from dual

2、指定范围内的小数 ( 0 ~ 100 )
     select dbms_random.value(0,100) from dual

3、指定范围内的整数 ( 0 ~ 100 )

select trunc(dbms_random.value(0,100)) from dual

4、长度为20的随机数字串

select substr(cast(dbms_random.value as varchar2(38)),3,20) from dual

5、正态分布的随机数

select dbms_random.normal from dual

6、随机字符串

select dbms_random.string(opt, length) from dual

opt可取值如下:
      'u','U'    :    大写字母
      'l','L'    :    小写字母
      'a','A'    :    大、小写字母
      'x','X'    :    数字、大写字母
      'p','P'    :    可打印字符

7、随机日期

select to_date(2454084+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J') from dual

通过下面的语句获得指定日期的基数

select to_char(sysdate,'J') from dual

8、生成GUID

select sys_guid() from dual

--生成带分隔符(-)的GUID的自定义函数
create or replace function my_guid
return varchar2
is
    guid varchar(36);
    temp varchar(32);
begin
    temp:=sys_guid();
    guid:= substr(temp,1,8) || '-'
         ||substr(temp,9,4) || '-'
         ||substr(temp,13,4)|| '-'
         ||substr(temp,17,4)|| '-'
         ||substr(temp,21,12);
    return guid;
end;

oracle 随机数(转载)的更多相关文章

  1. php连接oracle数据库转载

    php连接oracle数据库及查询数据的方法 投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-12-29 这篇文章主要介绍了php连接oracle数据库及查询数据的方法 ...

  2. JMeter学习(八)JDBC测试计划-连接Oracle(转载)

    转载自 http://www.cnblogs.com/yangxia-test 一.测试环境准备   Oracle:10g  JDBC驱动:classes12.jar oracle安装目录下(orac ...

  3. 获取oracle 随机数

    http://www.cnblogs.com/lgzslf/archive/2008/11/29/1343685.html select substr(dbms_random.random,2,2) ...

  4. oracle随机数

    1.从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 表示从ST ...

  5. Linux Hugepage ,AMM及 USE_LARGE_PAGES for oracle 11G(转载)

    1.  Hugepage基本概念     系统进程是通过虚拟地址访问内存,但是CPU必须把它转换成物理内存地址才能真正访问内存.为了提高这个转换效率,CPU会缓存最近的“虚拟内存地址和物理内存地址”的 ...

  6. 死锁及oracle死锁--转载

    今天看群里在讨论数据库死锁的问题,也一起研究了下,查了些资料在这里总结下. 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去. ...

  7. C语言连接Oracle (转载)

    最近在搞C语言连接Oracle.DB2数据库,现把C连接Oracle的文章总结下: 用C语言连接ORACLE数据库.有两个思路和目的 思路一)本地环境:UBUNTU 7.04,ORACLE 10G目的 ...

  8. oracle卸载Oracle Clusterware(转载)

    1.脚本自动删除 切换到root用户 $Su – root #cd $ORA_CRS_HOME/install 1.执行rootdelete.sh脚本 # ./rootdelete.sh 2.执行ro ...

  9. oracle随机数(转)

    1.从表中随机取记录SELECT * FROM (SELECT * FROM STUDENT ORDER BY DBMS_RANDOM.RANDOM) WHERE ROWNUM < 4--表示从 ...

随机推荐

  1. 01-Git简介和仓库创建

    Git简介 Linus的第二个伟大作品.2005年由于BitKeeper软件公司对Linux社区停止了免费使用权.Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了. 目前使用Git ...

  2. SDL2源代码分析4:纹理(SDL_Texture)

    ===================================================== SDL源代码分析系列文章列表: SDL2源代码分析1:初始化(SDL_Init()) SDL ...

  3. (九十四)集成PKRevealController实现左右抽屉视图

    使用PKRevealController可以实现类似于QQ等软件的左右抽屉视图,拖出的视图分为leftView和rightView,分别取自View的左半部分和右半部分,因此,根据不同的需求,可以选择 ...

  4. 【转载】2015 Objective-C 三大新特性 | 干货

    Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...

  5. Linux0.11启动过程

    从开机加电,到执行main函数之前的过程 好吧,这里应该是有执行3个汇编的文件,但是我不太了解.囧 从main函数,到启动OK(即可以响应用户操作了) 这个步骤做了3件事情: 创建进程0,使之具备在主 ...

  6. 开源视频平台:MediaCore(MediaDrop)

    MediaCore 是一个多媒体的建站系统,主要的功能包括视频.音频.YouTube集成.播客和 iTunes RSS 生成,用户可以提交各种多媒体内容. <开源中国>网站上说它是一个开源 ...

  7. 《java入门第一季》之面向对象(重头戏多态)

    接下来介绍java第三大特性--多态性 /* 多态:同一个对象(事物),在不同时刻体现出来的不同状态. 举例: 猫是猫,猫是动物. 水(液体,固体,气态). 多态的前提: A:要有继承关系. B:要有 ...

  8. python模块 - 常用模块推荐

    http://blog.csdn.net/pipisorry/article/details/47185795 python常用模块 压缩字符 当谈起压缩时我们通常想到文件,比如ZIP结构.在Pyth ...

  9. Android学习之旅-android系统服务的启动过程以及分类(90)

    读了android开发精要这本书,所以我把书中的比较精彩的地方截图了,一块分享一下

  10. mysql进阶(十一)外键在数据库中的作用

    MySQL外键在数据库中的作用 MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解.那么,MySQL外键究竟起到哪些作用呢?下 ...