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

2021-12-24 00:00:00 random date database oracle plsql

我有这个匿名块:

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

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

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

but I would to generate the date in a random way. How can I do?

推荐答案

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

You can generate random dates between two dates ,as displayed in the query below .Random Dates are generated between 1-jan-2000 and 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,第二个值是 31-dec-9999

In the above example ,the first value is 01-Jan-2000 and the second value id 31-dec-9999

相关文章