oracle - 使用 DBMS_RANDOM 在 Oracle 中生成随机日期

标签 oracle date random plsql database

我有这个匿名 block :

DECLARE
   V_DATA   DATE;
BEGIN
   V_DATA := '01-GEN-2000';

   HR.STATISTICHE.RATINGOPERATORI (V_DATA);
   COMMIT;
END;

但我会以随机方式生成日期。我该怎么办?

最佳答案

您可以在两个日期之间生成随机日期,如下面的查询所示。随机日期在 1-jan-2000 和 31-dec-9999 之间生成

  SELECT TO_DATE(
              TRUNC(
                   DBMS_RANDOM.VALUE(TO_CHAR(DATE '2000-01-01','J')
                                    ,TO_CHAR(DATE '9999-12-31','J')
                                    )
                    ),'J'
               ) FROM DUAL;

或者你可以使用

SELECT TO_DATE (
              TRUNC (
                     DBMS_RANDOM.VALUE (2451545, 5373484) 
                    )
                , 'J'
              )
  FROM DUAL

在上面的例子中,第一个值是 01-Jan-2000,第二个值 id 31-dec-9999

关于oracle - 使用 DBMS_RANDOM 在 Oracle 中生成随机日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17449999/

相关文章:

javascript - 比较未按预期工作的 JavaScript 日期

c++ - `shuffle_order_engine` 是做什么用的?

c - C 的 rand() 必须是随机的吗?

sql - SQL分组依据用户定义函数的输出

java - 我的无效字符在哪里 (ORA-00911)

java - javax.persistence.SequenceGenerator.allocationSize() 应该和 INCREMENT BY 一致吗?

c++ - 错误 : lvalue required as left operand of assignment using quadmath and random number generator

oracle - 使同一表中 2 列中的值相互唯一

java - 从扫描仪获取输入并确定有效日期

sql - T-SQL - 跟踪随时间发生的事件