Oracle生成随机日期时间

一、生成随机日期

例如,生成一个2015年内的任意日期:

/*
 * 分析:2015年内的任意日期,即日期范围是(2015-01-01, 2015-12-31)
 * 可以转化为 2015-01-01 + (0, 365),
 * 其中,2015-01-01 就是‘指定日期’; (0, 365) 就是‘指定范围’
*/

1. 首先确定2015年1月1日的日期整数:

select to_char(to_date(‘2015-01-01‘, ‘yyyy-MM-dd‘), ‘J‘) from dual; --系统给的结果是: 2457024

2. 生成指定范围[min_value, max_value]内的随机日期:

select to_date(2457024 + trunc(DBMS_RANDOM.VALUE(0, 365)), ‘J‘) from dual;

二、生成随机日期+时间

SELECT to_date(TRUNC(DBMS_RANDOM.VALUE(
       to_number(to_char(to_date(‘20150101‘,‘yyyymmdd‘),‘J‘)),
       to_number(to_char(to_date(‘20150501‘,‘yyyymmdd‘)+1,‘J‘)))),‘J‘)+
       DBMS_RANDOM.VALUE(1,3600)/3600
       prize_time
FROM dual;

生成2015-01-01 00:00:00至2015-05-01 23:59:59内的日期时间

作者:itmyhome

时间: 2024-10-09 03:58:39

Oracle生成随机日期时间的相关文章

python生成随机日期字符串

原文来自:  python生成随机日期字符串 生成随机的日期字符串,用于插入数据库. 通过时间元组设定一个时间段,开始和结尾时间转换成时间戳. 时间戳中随机取一个,再生成时间元组,再把时间元组格式化输出为字符串 import time import random a1=(1976,1,1,0,0,0,0,0,0) #设置开始日期时间元组(1976-01-01 00:00:00) a2=(1990,12,31,23,59,59,0,0,0) #设置结束日期时间元组(1990-12-31 23:59

ORACLE函数之日期时间转换函数

 1.          TO_CHAR 语法:TO_CHAR(X [,format]) 说明:将X按format格式转换成字符串.X是一个日期或者数字,format是一个规定了X采用何种格式转换的格式字符串 举例: SQL>SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') A FROM DUAL; A ------------------- 2014-06-1815:58:43 2.            TO_DATE 语法:TO_DATE(

ORACLE函数之日期时间运算函数

1            ADD_MONTHS 格式:ADD_MONTHS(D,N) 说明:返回日期时间D加N月后对应的日期时间.N为正时则表示D之后:N为负时则表示为D之前:N为小数则会自动先删除小数部分,而用整数部分 举例: SQL>SELECT ADD_MONTHS(SYSDATE,7) A,ADD_MONTHS(SYSDATE,-7) B,ADD_MONTHS(SYSDATE,7.9)C FROM DUAL; A                             B        

easyui的dataGrid生成的日期时间,总是不能很好的兼容ie8和谷歌,终于摸索出一个合适的办法

/** * 时间格式化 返回格式化的时间 * @param date {object} 可选参数,要格式化的data对象,没有则为当前时间 * @param fomat {string} 格式化字符串,例如:'YYYY年MM月DD日 hh时mm分ss秒 星期' 'YYYY/MM/DD week' (中文为星期,英文为week) * @return {string} 返回格式化的字符串 * * 例子: * formatDate(new Date("january 01,2012"));

[三卷天书]记一个asp.net生成两个日期范围内生成随机时间的方法

想网上找个生成随机天数的方法找不到,后面只得自己写了,贴给大家方便使用 思路:算两个日期的相差天数,然后在0到相差天数的范围内生成随机数,再用结束时间的天数部分减去这个随机数,代码: /// <summary> /// (在两个时间范围内)生成随机日期 /// </summary> /// <param name="startime">开始时间</param> /// <param name="endtime"&

【Python】随机模块random &amp; 日期时间のtime&amp;&amp;datetime

■ random 顾名思义,random提供了python中关于模拟随机的一些方法.这些方法都一看就懂的,不多说了: random.random() 返回0<n<=1的随机实数 random.uniform(a,b) 返回a<n<=b的随机实数 random.randrange([start],stop,[step]) 返回序列range(start,stop,step)中随机一项 random.choice(seq) 返回序列中随机一项 random.sample(seq,n)

PHP的函数-----生成随机数、日期时间函数

常用的函数 [1]   生成随机数 rand(); 例子: echo rand(); 显示结果: 当刷新时,会有不同的数,默认生成随机数.生成随机数不能控制范围. 如果,想要控制在范围之内,就用: echo rand(最小值,最大值); //两个参数来确定随机数的范围 例子: 生成的随机数控制在1到10之间? echo rand(1,10); 显示结果: 生成随机的数就是1到10之间,不可能出现10以外的数. 如果只写一个参数: 例子: echo rand(9); 显示结果: rand()方法,

ORACLE日期时间函数大全

ORACLE日期时间函数大全    TO_DATE格式(以时间:2007-11-02   13:45:25为例) Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007 Month:              mm    numbe

mysql与oracle的日期/时间函数小结

前言 本文的日期/时间全部格式化为”2016-01-01 01:01:01“形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时间转字符串函数:to_char(t.MONITOR_TIME, 'yyyy-mm-dd hh24:mi:ss') as monitorTime 字符串转日期/时间函数:TO_Date(”2016-01-01 01:01:01“, 'yyyy-mm-dd hh24:mi:ss') Mysql 日期/时间转字符串函数:DA