使用Oracle 10g随机化DATE列的时间部分的最佳方法是什么?
例如,数据的日期部分设置如下:
UPDATE table_name SET column_ts = SYSDATE - 120 + MOD(ROWNUM, 35)
我希望时间部分的每一行都有不同的值。
答案 0 :(得分:3)
选择0到86400之间的随机数(一天中的秒数)
将random / 86400添加到您的日期。
SELECT TRUNC(SYSDATE)+DBMS_RANDOM.value(0, 86400-1)/86400 FROM DUAL
此外:
UPDATE table_name
SET column_ts = SYSDATE - 120 + MOD(ROWNUM, 35) + DBMS_RANDOM.value(0, 86400-1)/86400;
答案 1 :(得分:2)
select trunc(sysdate)+dbms_random.value from dual;