日期:2014-05-16 浏览次数:20382 次
?????????? 1. Oracle 随机获取10条记录
??????????? select * from (select * from table order by dbms_random.value ) where rownum <11
?
Oracle 随机获取10条记录:
select tt.*
from (select rownum rn, t.* from table1 t
) tt
where tt.rn in
(select trunc(dbms_random.value(1, (select count(*) from table1 )))
from dual
connect by rownum <= 10); ----这里是最多取10条
关键点:
1.dbms_random.value()是随机产生( 0,1 )之间的数。dbms_random.value(1,100)随机产生1到100之间的数。
2.trunc() 是一个格式化函数,可以格式化日期和number两种数据。
1> trunc(for dates)
具体的语法格式:TRUNC(date[,fmt]),date:一个日期格式;fmt:日期格式,该日期将由指定的元素格式所截去。缺省的时候,截取的是当前天。
trunc(sysdate) --返回今天.
trunc(sysdate,'yyyy') --返回当年第一.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.
trunc(sysdate,'dd')--返回当前年月日
2>trunc(for number)