当前位置:首页 > 开发 > 数据库 > 正文

随机数

发表于: 2010-11-03   作者:alafqq   来源:转载   浏览次数:
摘要: 1. 随机数包 查看源代码 打印 帮助 1 SELECT DBMS_RANDOM.VALUE 2    FROM DUAL; 2. 在[0..100]范围内取随机数 查看源代码 打印 帮助 1 SELECT TRUNC (DBMS_RANDOM.VALUE (

1. 随机数包

1 SELECT DBMS_RANDOM.VALUE
2   FROM DUAL;

2. 在[0..100]范围内取随机数

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

3. 大于字符‘A’的10个字符随机字符串

1 SELECT DBMS_RANDOM.STRING ('A', 10)
2   FROM DUAL;

4. 单个小写随机字符

1 SELECT CHR (ROUND (DBMS_RANDOM.VALUE (97, 122)))
2   FROM DUAL;

5. 在过去10天内取随机日期

01 SELECT TO_DATE (TRUNC (DBMS_RANDOM.VALUE (TO_NUMBER (TO_CHAR (SYSDATE - 10,
02                                                               'J'
03                                                              )
04                                                     ),
05                                           TO_NUMBER (TO_CHAR (SYSDATE, 'J'))
06                                          )
07                       ),
08                 'J'
09                )
10   FROM DUAL;

6. 在过去30分钟内取随机时间

1 SELECT (SYSDATE - 1 / 24 / 60 * 30) + DBMS_RANDOM.VALUE (1, 1800) / 3600 / 24
2   FROM DUAL;

Oracle随机函数

01 Sql代码
02 --创建55到100之间随机数   
03   
04 select dbms_random.value, dbms_random.value(55,100)  from dual;    
05   
06 --创建2009年内的随机时间   
07   
08 SELECT
09 to_timestamp('2009-01-01 00:00:01','yyyy-mm-dd HH24:MI:SS') +DBMS_RANDOM.VALUE(1,365*24*3600)/3600/24
10 FROM DUAL    
11   
12 --随机查看前N条记录(随机读取表内容)   
13   
14 SELECT * FROM (SELECT * FROM chifan  ORDER BY dbms_random.random) WHERE ROWNUM<=5

unix/linux 时间戳转换为标准时间格式(主要是注意时区问题):

sql代码

1 select TO_DATE('19700101','yyyymmdd') + 1235728935/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24 from dual,其中1235728935就是unix/linux时间戳,转换完之后就表示为 2009-2-27 18:02:15。

反过来也一样,还是要考虑时区

1 select (to_date('2009-2-27 18:02:15','yyyy-mm-dd hh24:mi:ss') - to_date('1970-1-1','yyyy-mm-dd'))*86400- TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))*3600 from dual

随机数

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
获取相同概率随机数的算法 这几天在做公司年会的一个抽奖软件,开始做的的时候,认为算法是很简单的
org.uncommons The Uncommons Maths library provides five easy-to-use, statistically sound, high
这篇是师兄的一篇杰作,特意转过来,因为以后也要用到,到时候就没必要自己去写了。实为偷懒,但也
当前面试中各大名企经常出现各种各样的概率类面试题。究其原因,我觉得是概率型面试题可以综合考查
在stdlib.h中,有两个函数与伪随机数的生成有关:srand和rand。C语言中,随机数表有很多列,srand函
1、给你一个数组,设计一个既高效又公平的方法随机打乱这个数组(此题和洗牌算法的思想一致)   
rand产生随机数 #include"stdio.h" #include"stdlib.h" voidmain() { inti; for(i=0;i<5;i++) pr
利用SET中不能有重复数据 import java.util.HashSet; import java.util.Iterator; import java.util.
昨天无聊,就模仿仙剑5外传中的卡牌游戏做了一个小游戏,结果在开发这个小游戏的时候,碰到了产生多
用C提供的取随机数的方法srand和rand, 前者是给后者设置随机数种子seed。 int rnd_num = 0; srand(
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号