在数据库里任找一个超过2000年到2005年间天数的表作为temp表,执行:
select rownum id
,to_date('2000-1-1','yyyy-mm-dd')+(rownum-1) day
,MOD(6+(rownum-1),7) week
,to_char(to_date('2000-1-1','yyyy-mm-dd')+(rownum-1),'MM') month
,to_char(to_date('2000-1-1','yyyy-mm-dd')+(rownum-1),'YYYY') year
from temp
where rownum<=(to_date('2006-1-1','yyyy-mm-dd')-to_date('2000-1-1','yyyy-mm-dd'))
select rownum id
,to_date('2000-1-1','yyyy-mm-dd')+(rownum-1) day
,MOD(6+(rownum-1),7) week
,to_char(to_date('2000-1-1','yyyy-mm-dd')+(rownum-1),'MM') month
,to_char(to_date('2000-1-1','yyyy-mm-dd')+(rownum-1),'YYYY') year
from temp
where rownum<=(to_date('2006-1-1','yyyy-mm-dd')-to_date('2000-1-1','yyyy-mm-dd'))
select rownum id
,to_date('2000-1-1','yyyy-mm-dd')+(rownum-1) day
,MOD(6+(rownum-1),7) week
,to_char(to_date('2000-1-1','yyyy-mm-dd')+(rownum-1),'MM') month
,to_char(to_date('2000-1-1','yyyy-mm-dd')+(rownum-1),'YYYY') year
from all_objects
where rownum<=(to_date('2006-1-1','yyyy-mm-dd')-to_date('2000-1-1','yyyy-mm-dd'))
问题是,all_objects代表什么啊,常看到dual,dual是代表系统表么?
http://www.oradb.net/oradict.htm
all_objects可以用,但是要保证记录数足够。
不是偏离主题,实在是不懂的太多,多谢指点。