PLSQL:2个时间戳之间的随机时间戳

时间:2015-02-19 13:46:21

标签: random plsql timestamp

我有一个表示当前时间戳的时间戳:

now := CURRENT_TIMESTAMP;
tomorrow := now + INTERVAL '1' DAY;

现在我想在这两个值之间呈现一个随机时间戳, 我尝试使用DBMS_RANDOM,但它不起作用

任何帮助?

1 个答案:

答案 0 :(得分:1)

这将在当前时间戳和sysdate + 1:

之间生成一个随机时间戳
SELECT TO_DATE(SYSDATE, 'MM/DD/YYYY HH24:MI:SS') + 
       dbms_random.value(0, TO_DATE(SYSDATE, 'MM/DD/YYYY HH24:MI:SS') - 
       TO_DATE(SYSDATE, 'MM/DD/YYYY HH24:MI:SS')+1) 
FROM dual;

作为PL / SQL:

DECLARE
  l_ran_time TIMESTAMP;
BEGIN
  SELECT SYSDATE + 
         dbms_random.value(0, SYSDATE - 
         SYSDATE+1) 
  INTO l_ran_time
  FROM dual;
  dbms_output.put_line(l_ran_time);
END;
/