在当前数据中创建从今天到最小年份的年份列表

时间:2015-10-09 19:06:49

标签: oracle plsql

我有一张名为emp的表。该表包含一个字段,其中包含实际为4位数的数字。我想创建一个输出,它会占用今天的年份并创建一个顺序列表,该列表将以该字段的最小值结束(sysdate到最小值)。

我知道如何使用值获取所有日期:

    SELECT DISTINCT dt FROM emp;

但我如何填补所有空白?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作(x将替换为您的表格)

with x as (
    select 2001 yr from dual union all
    select 1994 from dual
 )
 select yr + level - 1
   from (select min(yr) yr
           from x)
 connect by level <= extract(year from sysdate) - yr + 1