Oracle 生成指定范围内随机日期
Oracle生成一个指定范围内的随机日期
/*
年1月1日)的整数偏移量来保存(即把日期保存为一个数字);
* 因此可通过寻找‘指定日期’与‘关键日期’相对应的整数偏移量,再加一个指定范围内的随机整数来生成一个指定范围内的随机日期。
*/
步骤:
1. 先找到‘指定日期’与‘关键日期’相对应的整数偏移量,格式为'J':
SQL>select to_char(sysdate,'J') from dual; --系统给的结果是: 2456191
2. 生成指定范围[min_value, max_value]内的随机日期:
SQL>select to_date(2456191 + trunc(DBMS_RANDOM.VALUE(min_value, max_value)),'J') from dual;
例如,要生成一个2003年内的任意日期:
/*
年内的任意日期,即日期范围是(2003-01-01, 2003-12-31)
* 可以转化为 2003-01-01 + (0, 365),
* 其中,2003-01-01 就是‘指定日期’; (0, 365) 就是‘指定范围’
*/
1. 首先确定2003年1月1日的日期整数:
SQL>select to_char(to_date('2003-01-01', 'yyyy-MM-dd'), 'J') from dual; --系统给的结果是: 2452641
2. 生成指定范围[min_value, max_value]内的随机日期:
SQL>select to_date(2452641 + trunc(DBMS_RANDOM.VALUE(0, 365)), 'J') from dual;
dbms_random.seed
设置 seed 来确定随机数的起始点,对于相同的 seed 而言,随机数的任意一次变化都将是确定的.
设置种子的目的是重现随机数,用于调试.
就是说,若某一时刻调用 seed 之后,依次产生的随机数是4,6,1,...
那么当再次调用相同的 seed 之后,依次产生的随机数仍是4,6,1,...
seed 参数有两种,一种是数值型,一种是字符型(最大长度2000)
PROCEDURE seed(val IN BINARY_INTEGER );
PROCEDURE seed(val IN VARCHAR2 );
Oracle 生成指定范围内随机日期的更多相关文章
- JS生成指定范围内的随机数(支持随机小数)
直接需要函数的话,直接到文章的最后面找. ============================================================= 转载:https://www.cn ...
- C#生成指定范围内的不重复随机数
C#生成指定范围内的不重复随机数 // Number随机数个数 // minNum随机数下限 // maxNum随机数上限 public int[] GetRandomArray(int Number ...
- 关于 Math.random()生成指定范围内的随机数的公式推导
关于 Math.random()生成指定范围内的随机数的公式推导 在 java 中,用于生成随机数的 Math 方法 random()只能生成 0-1 之间的随机数,而对于生成指定区间,例如 a-b ...
- javascript生成指定范围的随机整数
JavaScript有提供一个生成值区间在(0, 1)的随机小数的函数. Math.random(); // 0.10529863457509858 如果你和喜欢的人一起执行这个函数,之后生成的随机小 ...
- (C#)生成指定长度的随机字符串的通用方法
.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等, 源码: #region 生成指定长度的随机字符串 / ...
- 【转载】C#使用Random类来生成指定范围内的随机数
C#的程序应用的开发中,可以使用Random随机数类的对象来生成相应的随机数,通过Random随机数对象生成随机数的时候,支持设置随机数的最小值和最大值,例如可以指定生成1到1000范围内的随机数.R ...
- 从a-zA-Z0-9特殊字符中生成指定数量的随机字符密码的多层for循环跳出
师从‘百测’besttest 今日牛老师布置了一个作业,生成一个随机密码,且要包含大写字母.小写字母.数字和特殊字符,且不能重复. 想着先生成密码,然后用各字符去检查是否存在,使用for嵌套循环. i ...
- Mysql 生成指定时间段内的所有日期
DELIMITER $$ DROP PROCEDURE IF EXISTS create_calendar $$ CREATE PROCEDURE create_calendar (s_date DA ...
- poj 1597 Uniform Generator【生成指定范围内所有随机数】
本文参考资料:http://hi.baidu.com/bnjyjncwbdbjnzr/item/1f997cfdd225d5d143c36a58 题意:一个生成随机数的函数, Seed[x+1] = ...
随机推荐
- 【Howie玩docker】-Docker常用命令操作
attach 附加到一个运行的容器上面 --no-stdin=false Do not attach stdin --sig-proxy=true Proxify al ...
- Scala类型参数中协变(+)、逆变(-)、类型上界(<:)和类型下界(>:)的使用
转自:http://fineqtbull.iteye.com/blog/477994#bc2364938 有位je上的同学来短信向我问起了Scala类型参数中协变.逆变.类型上界和类型下界的使用方法和 ...
- myeclipse 环境配置优化,不断跟新整理中
myeclipse 环境配置,不断跟新整理中1.General --->Workspace ---> UTF-8 工作环境编码2.General --->Editors --> ...
- Yahoo团队经验:网站性能优化的34条黄金法则
Yahoo团队总结的关于网站性能优化的经验,非常有参考价值.英文原文:http://developer.yahoo.com/performance/rules.html 1.尽量减少HTTP请求次数 ...
- Silverlight第三方控件专题
原文http://www.cnblogs.com/nasa/archive/2008/12/01/1344927.html 这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏 ...
- SQLServer2012 和 MariaDB 10.0.3 分页效率的对比
1. 实验环境 R910服务器, 16G内存 SqlServer 2012 64bit MariaDB 10.0.3 64bit (InnoDB) 2. 实验表情况 rtlBill ...
- 数据库CRUD操作
CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...
- JAVA集合LIST MAP SET详解
1. 集合框架介绍 我们知道,计算机的优势在于处理大量的数据,在编程开发中,为处理大量的数据,必须具备相应的存储结构,之前学习的数组可以用来存储并处理大量类型相同的数据,但是通过上面的课后练习,会发现 ...
- linux学习 建立静态库,动态库,写简单的makefile
建立静态库 建立四个文件 bin(可运行文件),lib(库),include(头文件),src(放源文件) 这里的起的库明为add 在src文件里运行 1)gcc -c add.c //编译add.c ...
- oracle超过最大游标数异常分析(转贴)
问题描述 Oracle 使用 OPEN_CURSORS 参数指定一个会话一次最多可以打开的游标的数量.超过此数量时,Oracle 将报告 ORA-01000 错误.当此错误传播到 WebLogic S ...