精华内容
下载资源
问答
  • Oracle生成某区间内随机整数的方法可以用以下两种方式: Select round(dbms_random.value(0, 100), 0) as 随机数一, trunc(dbms_Random.Value(0, 100)) as 随机数二 From dual 其中 round和trunc的区别是:前者...

    Oracle生成某区间内随机整数的方法可以用以下两种方式:

     Select round(dbms_random.value(0, 100), 0) as 随机数一,
            trunc(dbms_Random.Value(0, 100)) as 随机数二
       From dual

    其中 round和trunc的区别是:前者为四舍五入,后者为直接截取。
     

    展开全文
  • Mysql与oracle生成随机整数

    千次阅读 2015-03-30 10:59:19
    oracle: 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...

    oracle

    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、指定长度的随机字符串

    select dbms_random.string('x', 3) from dual ;

    MySql:

    rand()与floor()两个函数,rand()生成的是小数,floor生成的是整数

    1.

    select floor(1+(rand()*200)) ,生成1~200之间的随机整数

    第一个1是基数,第二个是浮动数

    2.floor(n):返回一个不大于n的最大整数

    rand(),rand(n):返回一个随机浮点值V,范围在0~1之间。若指定一个整数参数n,则它被用做种子值,用来产生重复序列。




    展开全文
  • ORACLE 如何产生一个随机数:DBMS_RANDOM –1、小数( 0 ~ 1) select dbms_random.value from dual ; –2、指定范围内的小数 ( 0 ~ 100 ) select dbms_random.value(0,100) from dual ;–3、指定范围内的整数 ( 0 ~...

    ORACLE 如何产生一个随机数:DBMS_RANDOM
    –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)),0,10) from dual ;
    

    –5、正态分布的随机数

     select dbms_random.normal from dual ;
    

    –6、随机字符串

     select dbms_random.string('x', 3) 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;

    数字、文本字符串和日期都是用户会在表格里碰到的三种常见数据类型。虽然你可以用PL/SQL程序包里的DBMS_RANDOM随机生成数字——它确实能够做到这一点——它还能够随机生成文本和日期值。

    1.产生随机数字
    就让我们先从数字开始。VALUE函数会返回一个大于等于0但是小于1的数,精度是38位。

    SELECT DBMS_RANDOM.VALUE FROM DUAL;

    对于指定范围内的整数,要加入参数low_value和high_value,并从结果中截取小数(最大值不能被作为可能的值)。所以对于0到99之间的整数,你要使用下面的代码:

    SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100)) FROM DUAL;

    2.产生随机文本字符串
    要随机生成文本字符串,就要使用STRING函数并编写代码指定字符串的类型和所希望的长度:

    SELECT DBMS_RANDOM.STRING(‘A’, 20) FROM DUAL;

    类型代码在《Oracle Database 10g PL/SQL程序包和类型参考(oracle Database 10g PL/SQL Packages and Types Reference)》有说明。

    下面是一些类型的代码:

    ‘U’用来生成大写字符

    ‘L’用来生成小写字符

    ‘A’用来生成大小写混合的字符

    3.产生随机日期
    Oracle将日期作为过去某个关键日期(如果你好奇的话,我可以告诉你这个日期是公元前4712年1月1日)的整数偏移量来保存。这就意味着你可以通过寻找与你希望的起始日期相对应的整数,然后向它加入一个随机的整数来随机生成一个指定范围内的日期。

    使用TO_CHAR函数和‘J’格式代码,你可以为今天的日期生成一个内部日期数:

    SELECT TO_CHAR(SYSDATE, ‘J’) FROM DUAL;

    例如,要生成一个2003年内的任意日期,你可以首先确定2003年1月1日的日期整数;

    SELECT TO_CHAR(TO_DATE(‘01/01/03’,’mm/dd/yy’),’J’)FROM DUAL;

    系统给的结果是2452641。所以要生成该年度内的任意日期,我们就要用带有low_value等于2452641和high_value等于2452641+364参数的DBMS_RANDOM.VALUE,再把它转换成日期:

    SELECT TO_DATE(TRUNC(DBMS_RANDOM.VALUE(2452641,2452641+364)),’J’) FROM DUAL;

    列表A:

    SQL> CREATE TABLE random_stuff (
    2 id NUMBER,
    3 date1 DATE,
    4 text1 VARCHAR2(40)
    5 );

    Table created.

    SQL> INSERT INTO random_stuff
    2 SELECT
    3 ROWNUM,
    4 TO_DATE(TRUNC(DBMS_RANDOM.VALUE(2452641,2452641+364)),’J’),
    5 DBMS_RANDOM.STRING(‘A’,TRUNC(DBMS_RANDOM.VALUE(6,41)))
    6 FROM user_objects
    7 WHERE ROWNUM < 101;

    100 rows created.

    SQL> commit;

    Commit complete.

    SQL> SELECT *
    2 FROM random_stuff
    3 WHERE ROWNUM < 11;

        ID DATE1     TEXT1                                                      
    

         1 21-JAN-03 gAwQdhHSLBnu                                               
         2 28-SEP-03 cESSyTtblabklMGznSHj                                       
         3 22-NOV-03 nrnsGZCniTY                                                
         4 05-FEB-03 WCrFojHkic                                                 
         5 10-SEP-03 vlSliCaNQxZsBHbvKfiGnEMoXarR                               
         6 13-JUN-03 UnYLsIFOvkVezXJTByOpqVgwVSLKDFvvApIR                       
         7 02-JAN-03 WXffJhdxXN                                                 
         8 03-OCT-03 QimEpqGkVvNBJvZdwzegqgeYXUSEKJE                            
         9 14-JUL-03 pJlmGZeNNIfSEJFgIdNuRKnCFIzzLMOlXmvC                       
        10 24-DEC-03 JNnLJlndDcv                                               
    

    10 rows selected.
    列表A把上面的代码集中到了一起。它创建了一个叫做random_stuff的示例表格,这个表格有三个数据列:ID、date1和text1。它然后联合使用 ROWNUM和DBMS_RANDOM生成数据,在里面插入100个数据行。你可以使用任意至少带有100个数据行的表格进行子查询,因为真正表格里的数据列都不在SELECT列表里。

    展开全文
  • 本人网站交友乐www.jyoule.com ...使用oracle产生活动码速度极快,使用方便。1万个活动码只需要2~3秒就可以产生。下面是代码建一个临时表,用于存储生成的活动码create table T_RANDOM_CODE(code varchar2(20));--...

    本人网站交友乐www.jyoule.com 需要经常生成随机的活动码,用于制作卡片密码或通过网络发送。活动码的生成规则是采用唯一的字符串开头后面是随机数字,比如AZ00001。使用oracle产生活动码速度极快,使用方便。1万个活动码只需要2~3秒就可以产生。下面是代码

    建一个临时表,用于存储生成的活动码

    create table T_RANDOM_CODE

    (

    code varchar2(20)

    );

    -- Create/Recreate primary, unique and foreign key constraints

    alter table T_RANDOM_CODE

    add constraint PK_T_RANDOM_CODE primary key (code);

    存储过程,根据输入的前缀和数量,生成不重复的活动码

    PROCEDURE create_random_code

    (

    p_number in number  --活动码生成数量

    ,p_prefix in varchar2   --活动码前缀

    ) as

    v_count  number;

    v_random number;

    v_num    number;

    v_code   varchar2(20);

    begin

    v_count := 0;

    WHILE v_count < p_number

    LOOP

    --活动码的位数可以在这里调整

    select dbms_random.value(10000000, 99999999)

    into v_random

    from dual;

    v_code := p_prefix || trunc(v_random);

    select count(*)

    into v_num

    from t_random_code

    where code = v_code;

    if v_num = 0 then

    insert into t_random_code (code) values (v_code);

    v_count := v_count + 1;

    end if;

    END LOOP;

    null;

    END create_random_code;

    展开全文
  • selecttrunc(dbms_random.value... --按照指定的精度截取一个selectround(dbms_random.value(1000,9999))fromdual; --按照指定的精度进行四舍五入selectceil(dbms_random.value(1000,9999))fromdual; --cei...
  • Oracle 生成随机密码

    千次阅读 2013-08-19 14:28:42
    oracle数据库中有可已生成随机密码包dbms_random,但是用起来有点儿不方便,满足不了上面的需求。一些网页工具或者小软件,使用起来也不方便。 所以就想在oracle自己写函数来实现,并且可以建立数据库表方便管理密码...
  • Oracle中如何生成随机数字、随机字符串、随机日期 详细实例脚本。
  • oracle生成随机字符串

    2021-07-28 23:56:53
    oracle拼接随机字符串生成主键前言 前言 记录一下在Oracle中用年月日时分秒拼随机字符串生成主键的一种操作 ----dbms_random.string (opt char, len number); --opt:表示返回值可能包含的东西 --len:表示要返回的...
  • Oracle生成随机日期时间

    万次阅读 2015-05-08 21:48:09
    一、生成随机日期例如,生成一个2015年内的任意日期:/* * 分析:2015年内的任意日期,即日期范围是(2015-01-01, 2015-12-31) * 可以转化为 2015-01-01 + (0, 365), * 其中,2015-01-01 就是'指定日期’;...
  • oracle生成随机字符串 当我们构造数据库测试案例时,有时会生成需要使用生成随机长度的字符串 使用dbms_random.string方法生成 官方引用: ...使用说明: DBMS_RANDOM.STRING opt IN CHAR, ...
  • Oracle 生成随机日期

    2021-08-22 22:30:58
    一、生成2021-07-01与2021-07-10之间的连续日期 select to_date('2021-07-01','yyyy-mm-dd') - 1 + rownum dt from dual connect by rownum <= floor(to_date('2021-07-10','yyyy-mm-dd') - to_date('2021-07...
  • Oracle生成随机

    2011-01-30 10:29:16
    本人网站交友乐www.jyoule.com 需要经常生成随机的活动码...使用oracle产生活动码速度极快,使用方便。1万个活动码只需要2~3秒就可以产生。下面是代码 建一个临时表,用于存储生成的活动码 create table T_RANDOM...
  • Oracle生成随机函数

    2016-01-07 14:54:56
    2.产生随机文本字符串 要随机生成文本字符串,就要使用STRING函数并编写代码指定字符串的类型和所希望的长度: SELECT DBMS_RANDOM.STRING('A', 20) FROM DUAL;  类型代码在《Oracle Database 10...
  • 介绍如何在 Oracle 数据库中使用系统程序包 DBMS_RANDOM 生成随机数据,包括随机数字、验证码、随机字符串以及随机日期和时间等,同时还介绍了如何从表中返回随机记录,以及如何生成 UUID。
  • 1.随机小数 dbms_random.value(low,high): --获取一个[low,high)之间的小数,包含low,不包含high 可以结合trunc函数获取整数 例如: select dbms_random.value from dual; --生成0-1之间的小数 select dbms_random....
  • 一、生成随机日期例如,生成一个2015年内的任意日期:/** 分析:2015年内的任意日期,即日期范围是(2015-01-01, 2015-12-31)* 可以转化为 2015-01-01 + (0, 365),* 其中,2015-01-01 就是'指定日期’; (0, 365) 就是'...
  • Linux 和Oracle里面如何生成随机字符串: Linux 可以利用uuidgen来生成 [oracle@oracle ~]$ uuidgen f239007b-14a8-4a38-9925-794f5aad7740 我们要做的就是把里面的"-"去掉,数字替换为字母,然后截取想要的...
  • select dbms_random.string(opt, length) from dual opt可取值如下: ‘u’,‘U’ : 大写字母 ‘l’,‘L’ : 小写字母 ‘a’,‘A’ : ... my_str就是随机大小写数字 注意:1…10是循环10位字符。可以按照需求指定1…?
  • oracle随机生成

    2017-07-31 10:15:10
    --oracle随机生成 -- SELECT * FROM (SELECT * FROM table ORDER BY DBMS_RANDOM.RANDOM()) WHERE ROWNUM 10 table=表名 10=需要生成的条
  • 1 从现有的表中随机取记录select * from (select st_base_id from t_base order by dbms_random.random) ...2 产生随机字符串select dbms_random.string('u',100) from dual; --产生大写字母组成的字符串,'u'也可...
  • Oracle随机生成数

    2019-04-09 10:35:18
    Oracle随机生成8位整数 方式一: select TRUNC(dbms_random.value(10000000,20000000)) as id from dual; 方式二: select substr(cast(dbms_random.value as varchar2(38)),3,8) from dual 随机生成GUID ...
  • oracle中获取随机整数方法

    千次阅读 2014-01-29 11:55:56
    示例:获取随机100以内整数 update temp set quantity=cast( floor(dbms_random.value()*100) as int); 示例说明: cast( floor(dbms_random.value()*100) as int) oracle中 FLOOR(n)函数:取小于等于...
  • oracle 生成 20 位随机数字的函数

    千次阅读 2016-07-26 17:01:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • 生成GUID,全球唯一标识 select sys_guid() from dual ; 小数( 0 ~ 1) select dbms_random.value from dual ; 指定范围内的小数 ( 0 ~ 100 ) select dbms_random.value(0,100) from dual ; 指定范围内的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,912
精华内容 14,764
关键字:

oracle生成随机整数