how to create incremental number in oracle sql query without create any table ? I have tried using "with" clause, but I failed to get the expected result. I am using oracle 10g
here is the code that I try,it seems not working:
WITH
TABLE3 AS ( SELECT 2008 YEARS FROM dual WHERE 1=1
union all
select t3.YEARS+1 from TABLE3 t3
WHERE 1=1 AND t3.YEARS < 2011
)
select YEARS from TABLE3
expected result I want is :
2008
2009
2010
2011
Best Answer
Similar to Kerri's answer, but without the
with
(and inspired by an SO answer):Or if your aim is to get the current year the three preceding it, without hard-coding the start year: