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. Oracle 取随机数(转)

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

  2. oracle取随机数,取固定行数的数

    首先建一张测试表: create table DIM_IA_TEST5 ( NAME ), OTHERNAME ), NUM NUMBER, TIMES NUMBER ) 然后插入数据,现在的表数据为 ...

  3. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  4. 获取oracle 随机数

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

  5. Oracle中用sql语句取随机数和整数

    --- 应用round(5.678,3)保留小数 应用floor(5.678)保留整数 应用dbms_random.value(30,50)取得随机数 --- dbms_random包 获得随机小数S ...

  6. MSSQL和Oracle常用函数比对

    数学函数 序号 函数功能 SQL Server用法 Oracle用法 1 绝对值 select abs(-1) value select abs(-1) value from dual 2 取整(大) ...

  7. SQL server 与Oracle开发比较

    ●概念上区别 1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管 理系统(RDBMS). 2.Oracle使用Internet文件系统,该系统基 ...

  8. oracle SQLserver 函数

    1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value ...

  9. oracle随笔(转)

    ---------数学函数 1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual 2.取整(大)S:select ceiling(-1 ...

随机推荐

  1. linux中给PHP安装mongodb的扩展

    centos5.6 32bit php 5.2.17 php安装路径 /usr/local/php phpize路径 /usr/bin php-config路径 /usr/bin php.ini路径 ...

  2. Web jquery表格组件 JQGrid 的使用 - 6.准备工作 & Hello JQGrid

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  3. Mac OSX定位命令路径的方法

    可以使用which命令来定位一个命令. http://www.cyberciti.biz/faq/how-do-i-find-the-path-to-a-command-file/

  4. JS 加载html 在IE7 IE8下 可调试

    实际背景 就是都是HTML 公共头部底部  然后中间部分加载不同的HTML文件 有点跟模板引擎一样 jQuery 有个load函数 加载html文件的路径 获取html内容 到中间部分 正常下是不能用 ...

  5. .Net创建windows服务入门

    本文主要记录学习.net 如何创建windows服务. 1.创建一个Windows服务程序 2.新建安装程序 3.修改service文件 代码如下 protected override void On ...

  6. 一次性事务和CTE插入数据的比较

    有时要构造一些数据来做测试数据,像下面这样: IF OBJECT_ID(N'T14') IS NOT NULL BEGIN DROP TABLE T14 END GO CREATE TABLE T14 ...

  7. HTML5 离线缓存管理库

    一.HTML5离线缓存技术 支持离线缓存是HTML5中的一个重点,离线缓存就是让用户即使在断网的情况下依然可以正常的运行应用.传统的本地存储数据的方式有 localstorage,sessionsto ...

  8. 大熊君JavaScript插件化开发------(实战篇之DXJ UI ------ Tab)

    一,开篇分析 Hi,大家好!大熊君又和大家见面了,还记得前两篇文章吗.主要讲述了以“jQuery的方式如何开发插件”,以及过程化设计与面向对象思想设计相结合的方式是 如何设计一个插件的,两种方式各有利 ...

  9. log4jdbc 使用

    像 hibernate, mybatis 都是不打印真正执行的sql的,所以借助 log4jdbc 打印sql以及统计执行时间是非常方便的. 配置log4jdbc 有很多种方法,比如通过spring的 ...

  10. JavaScript类型判断instanceof与typeof对比

    经常有人会在JavaScript里写如下的方法: function checkType() { var s1 = 123; var s2 = "OK"; if (s1 instan ...