我有一个oracle db,我需要一个包含2年所有日期的表;
例如从2011年1月1日到2013年1月1日.
例如从2011年1月1日到2013年1月1日.
首先我想到了一个序列,但显然唯一支持的类型是数字,所以现在我正在寻找一种有效的方法来做到这一点
欢呼声恶作剧
解决方法
如果你想要的是用连续日期填充一个记录块,这很容易做到.以下查询生成十个日期.您需要做的就是调整种子日期,为您提供起点和connect by子句中的级别以适合您的终点,然后将其插入到insert语句中.
sql> select (trunc(sysdate,'MM')-1) + level 2 from dual 3 connect by level <= 10 4 / (TRUNC(SY --------- 01-JAN-10 02-JAN-10 03-JAN-10 04-JAN-10 05-JAN-10 06-JAN-10 07-JAN-10 08-JAN-10 09-JAN-10 10-JAN-10 10 rows selected. sql>