Oracle dbms_random

Oracle dbms_random

介绍几个常用的功能

生成0-1的小数(默认)

SQL> select dbms_random.valuefrom dual;

VALUE

----------

.932351752

Note:可通过trunc、round函数对结果进行加工

生成指定范围内的数

FUNCTION VALUE RETURNS NUMBER

Argument Name                  Type                    In/Out Default?

----------------------------------------------------- ------ --------

LOW                            NUMBER                  IN

HIGH                           NUMBER                  IN

SQL> select dbms_random.value(23,48)from dual;

DBMS_RANDOM.VALUE(23,48)

------------------------

23.1991482

Note:可通过trunc、round函数对结果进行加工

长度为20的随机数字串

SQL> select length(cast(dbms_random.valueas varchar2(1024))) from dual;

LENGTH(CAST(DBMS_RANDOM.VALUEASVARCHAR2(1024)))

-----------------------------------------------

39

说明小数点后只有38位占位符有数字

SQL> select substr(cast(dbms_random.valueas varchar2(38)),3,20) from dual;

SUBSTR(CAST(DBMS_RANDOM.VALUEASVARCHAR2(

----------------------------------------

52633757378080443317

正态分布的随机数

select dbms_random.normal from dual;

随机字符串

select dbms_random.string(opt, length) fromdual;

opt可取值如下:

‘u‘,‘U‘    :    大写字母

‘l‘,‘L‘    :    小写字母

‘a‘,‘A‘    :    大、小写字母

‘x‘,‘X‘    :    数字、大写字母

‘p‘,‘P‘    :    可打印字符

SQL> select dbms_random.string(‘U‘,10)from dual;

DBMS_RANDOM.STRING(‘U‘,10)

------------------------------------------------------------------------------------------------------------------------------------------------------

DTKOJUGGHI

总结:通过dbms_random可实现随机日期、随机字符串;反可带有随机的变化量的,均可使用这个函数进行转化。

时间: 2024-08-28 23:26:01

Oracle dbms_random的相关文章

Oracle dbms_random随机数包详解

Oracle dbms_random包主要用于获得随机数,可以为数字也可以为字母等,还可以实现混拼.常用函数如下: dbms_random.value 生成一个指定范围的38位随机小数(小数点后38位),若不指定范围则默认为范围为[0,1)的随机数. Oracle的官方说明为:The VALUE function produces numbers in the range [0,1) with 38 digits of precision. [举例] 生成一个0~1间的随机小数(包括0,不包括1

[转]Oracle dbms_random函数用法快速生成多条测试数据

做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法. 首先模拟一下100条的随机数据 [sql] view plaincopyprint? select rownum as id, to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime, trunc(dbms_rand

Oracle dbms_random随机函数包

dbms_random是oracle提供的一个随机函数包,以下是它的一些常用的功能: 1.dbms_random.value 作用:生成一个大于等于0,大于等于1的随机的38位小数,代码如下: select dbms_random.value random from dual 2.生成一个指定范围的随机数 select dbms_random.value(0,100) random from dual 注:范围交换位子是可行的. 3.获取正态分布的随机数 select dbms_random.n

Oracle dbms_random函数用法快速生成多条测试数据

做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法. 首先模拟一下100条的随机数据 select rownum as id, to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime, trunc(dbms_random.value(0, 100)) as random

oracle dbms_random.value

dbms_random是一个可以生成随机数值或者字符串的程序包.包中value()的用法有两种 第一种无参,会返回一个具有38位精度的数值,范围从0.0到1.0,但不包括1.0: 第二种value带有两个参数,第一个指下限,第二个指上限,将会生成下限到上限之间的数字,不包含上限: 例1:无参用法.输出1到99之间的随意10个数 <span style="font-size:18px;">SQL> set serverout on SQL> begin 2 for

oracle系统包——dbms_random用法及order by 小结(转)

dbms_random是一个可以生成随机数值或者字符串的程序包. 这个包有initialize().seed().terminate().value().normal().random().string()等几个函数,但value()是最常用的,下面依次介绍各个函数的详细用法: 1.dbms_random.value方法 第一种:FUNCTION value RETURN NUMBER; 说明: 这种用法没有参数,会返回一个具有38位精度的数值,范围从0.0到1.0,但不包括1.0. 示例: S

Oracle的trunc和dbms_random.value随机取n条数据

今天在review项目代码的时候看到这样一个问题,有一张号码表,每次需要从这样表中随机取6个空闲的号码,也就是每次取出来的6个号码应该都会有所不同.然后我就看到了这样的SQL select   t.*     from   tel_number_tbl t    where   t.status = '空闲'      and   t.area_code = '0571'      and   t.delete_flg = '未删除'      and   rownum <= 6order by

Oracle之DBMS_RANDOM包详解

DBMS_RANDOM是Oracle提供的一个PL/SQL包,用于生成随机数据和字符.它具有以下函数. 其中,initialize,random,terminate函数在Oracle11g中已不推荐使用,主要用于向后兼容.下面对各个函数进行举例说明 1. INITIALIZE 用一个种子值来初始化DBMS_RANDOM包. 默认情况下,DBMS_RANDOM包是根据用户.时间.会话来进行初始化,这样,即便是同一个语句,每次生成的数值都会不一样,但这样会产生一个问题,在测试环境下,如果我想每次生成

Oracle 关于几个随机函数sys_guid、dbms_random.random、dbms_random.value(取随机的结果集)

sys_guid():SYS_GUID (),是Oracle 8i 后提供的函数.SYS_GUID产生并返回一个全球唯一的标识符(原始值)由16个字节组成.更适合多个数据库数据集成时使用(--源自百度百科). itpub上讨论这两个,发现sys_guid()和操作系统相关,据说在windows下可以正常使用,但是在有的系统中未必(未验证) dbms_random是一个随即包,其中的具体函数参见以下转发的一片不错的博文 1.dbms_random.value方法 dbms_random 是一个可以