【问题标题】:Find a random timestamp between 2 timestamps using PL/SQL使用 PL/SQL 查找 2 个时间戳之间的随机时间戳
【发布时间】:2021-11-16 04:04:02
【问题描述】:

我不熟悉 PL/SQL。

我正在寻找一个函数/代码,它会给我一个介于其他两个时间戳之间的随机时间戳。例如,如果我想在

之间找到一个随机时间戳
12-FEB-18 12.00.00.000000 AM - 13-MAR-19 12.00.00.000000 AM

我看到了下面的帖子。

PLSQL: random timestamp between 2 timestamps

但这似乎给了我当前时间戳和另一个时间戳之间的时间戳。有没有办法生成介于 2 个时间戳之间的时间戳?

【问题讨论】:

  • 只需将您的其他时间戳列替换为 current_timestamp。除了 predefined 值之外,current_timestamp 没有什么特别之处。

标签: plsql


【解决方案1】:

您提供的链接为您提供了答案。您真正需要做的就是用您当前的时间替换 SYSDATE,它会为您提供当前日期。

以下代码将为您提供一个从输入日期的从到到范围的随机日期:

SELECT TO_DATE(date_1, 'MM/DD/YYYY HH24:MI:SS') + 
       dbms_random.value(0, TO_DATE(date_2, 'MM/DD/YYYY HH24:MI:SS') - 
       TO_DATE(date_1, 'MM/DD/YYYY HH24:MI:SS')) 
FROM dual;

【讨论】:

    猜你喜欢
    • 2015-04-20
    • 1970-01-01
    • 2014-05-22
    • 2020-09-21
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多