oracle取随机日期时间

--取出2012-10-01到2012-10-07中9点到17点范围的一个随机时间
SELECT to_date(TRUNC(DBMS_RANDOM.VALUE(to_number(to_char(to_date('20121001',
                                                                 'yyyymmdd'),
                                                         'J')),
                                       to_number(to_char(to_date('20121007',
                                                                 'yyyymmdd') + 1,
                                                         'J')))),
               'J')  + (TRUNC(DBMS_RANDOM.VALUE(9,17))*3600+TRUNC(DBMS_RANDOM.VALUE(0,60))*60 + TRUNC(DBMS_RANDOM.VALUE(0,60)))/(24*60*60)
  FROM dual;
--参数'J' 指Julian 日期(自公元前4712年1月1日来的日期) 

参考结果:
2012/10/4 9:51:58
2012/10/3 14:46:28
2012/10/1 14:27:06
2012/10/4 16:29:54
......
http://baike.baidu.com/view/6011617.htm

猜你喜欢

转载自jimmy9495.iteye.com/blog/1740856
今日推荐