【问题标题】:Random date with time in oracleoracle中带有时间的随机日期
【发布时间】:2019-06-27 00:51:41
【问题描述】:

这可能是一个愚蠢的问题,但我没有找到关于这个主题的任何内容。

如何在 Oracle 中获得与随机时间相关联的随机日期? 我的意思是,我需要像20/02/2016 18:26:30 这样的东西,但是是随机生成的。 我可以在 oracle 中使用日期类型还是需要其他类型?

谢谢

编辑: 我需要在定义的时间间隔内获取随机日期和时间。我该怎么做?

【问题讨论】:

    标签: sql oracle date oracle11g


    【解决方案1】:

    这样可以吗?

    SQL> alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss';
    
    Session altered.
    
    SQL> with test as
      2    (select date '2019-01-01' min_date,
      3            date '2019-01-31' max_date
      4     from dual
      5    )
      6  select min_date + dbms_random.value(0, level) new_date
      7  from test
      8  connect by level <= max_date - min_date;
    
    NEW_DATE
    -------------------
    01.01.2019 09:12:46
    02.01.2019 23:00:44
    03.01.2019 06:53:47
    03.01.2019 13:50:17
    05.01.2019 05:13:33
    02.01.2019 08:37:47
    01.01.2019 12:07:08
    08.01.2019 18:27:01
    06.01.2019 18:45:57
    10.01.2019 19:13:49
    04.01.2019 15:22:32
    02.01.2019 05:55:54
    11.01.2019 20:17:50
    10.01.2019 19:32:37
    07.01.2019 21:54:26
    06.01.2019 15:34:37
    01.01.2019 20:47:33
    02.01.2019 20:19:10
    11.01.2019 02:00:46
    07.01.2019 16:28:19
    15.01.2019 11:47:29
    06.01.2019 08:10:32
    16.01.2019 01:00:22
    14.01.2019 07:59:01
    12.01.2019 10:03:16
    21.01.2019 23:45:16
    10.01.2019 02:34:24
    17.01.2019 01:20:22
    24.01.2019 07:39:40
    16.01.2019 00:27:00
    
    30 rows selected.
    
    SQL>
    

    【讨论】:

      【解决方案2】:

      考虑到DBMS_RANDOM 包可能有用

      select sysdate + DBMS_RANDOM.value(0,86400)/86400 * 7 from dual

      以即将到来的一周为例。

      或者将7 转换为30 以在接下来的一个月内使用。

      Demo

      【讨论】:

      • 但我认为这个解决方案将始终给我相同的 sysdate 时间。我的意思是,它只会改变一天。我错了吗?
      • @Paolopast 你是对的,你可以试试上面的例子来改变时间值。
      • 查看编辑。如何在定义的时间间隔内获取随机日期?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多