PLSQL:2个时间戳之间的随机时间戳
Posted
技术标签:
【中文标题】PLSQL:2个时间戳之间的随机时间戳【英文标题】:PLSQL: random timestamp between 2 timestamps 【发布时间】:2015-04-20 21:27:39 【问题描述】:我有一个代表当前时间戳的时间戳:
now := CURRENT_TIMESTAMP;
tomorrow := now + INTERVAL '1' DAY;
现在我想在这两个值之间渲染一个随机时间戳, 我尝试使用 DBMS_RANDOM,但它不起作用
有什么帮助吗?
【问题讨论】:
【参考方案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;
/
【讨论】:
我不明白为什么不这样做。我已经用匿名块更新了答案。 如果您喜欢这个结果,请将问题标记为已回答。 你是对的。我有那个脚本,它有点不同,所以就用了那个。我已经编辑删除了类型转换。以上是关于PLSQL:2个时间戳之间的随机时间戳的主要内容,如果未能解决你的问题,请参考以下文章