今天犯了个低级错误,特记录下来 备忘
生成一个随机日期,然后通过TABLE1查询出来, 使用dbms_random.value()来生成
select id,(select sysdate-sys.dbms_random.value(n1,n2) from dual) from tablename;
由于dbms_random.value生成的是精确到小数点后数位的值,所以随机取的 DATE也能精确到秒。
但查询出来的日期的确是个随机数,但所有的行的日期都是同一个随机数 -_-||
这是因为放在子查询里的select sysdate-sys.dbms_random.value(n1,n2) from dual只会被执行一次,所以无论是直接查还是游标来查,使用的随机数都是同一个。
改成select id,(sysdate-sys.dbms_random.value(n1,n2)) from tablename;就OK了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13351439/viewspace-450395/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13351439/viewspace-450395/