Gre*_*lds 10
SELECT TO_DATE('12/01/2003', 'MM/DD/YYYY') - 1 + rownum AS d
FROM all_objects
WHERE TO_DATE('12/01/2003', 'MM/DD/YYYY') - 1 + rownum <= TO_DATE('12/05/2003', 'MM/DD/YYYY')
Run Code Online (Sandbox Code Playgroud)
从
http://forums.devshed.com/oracle-development-96/select-all-dates-between-two-dates-92997.html
SELECT * FROM your_table WHERE your_date_field BETWEEN DATE '2010-01-01' AND DATE '2011-01-01';
Run Code Online (Sandbox Code Playgroud)
您可以以一种巧妙的方式使用 LEVEL 伪列来生成一个系列,因此,例如,要获取从今天到 20 天之间的天数列表,我可以:
select trunc(sysdate+lvl) from
(select level lvl from dual connect by level < ((sysdate+20)-sysdate - 1) )
order by 1
Run Code Online (Sandbox Code Playgroud)
通常,您可以看到这如何适用于任何两个给定日期。
select trunc(early_date+lvl) from
(select level lvl from dual connect by level < (later_Date-early_date-1) )
order by 1
Run Code Online (Sandbox Code Playgroud)
如果您还想包括两个结束日期,您可以调整子句。
归档时间: |
|
查看次数: |
50719 次 |
最近记录: |