DB2中的generate_series()等效项

时间:2009-04-30 12:36:59

标签: sql db2 auto-generate

我正在尝试搜索generate_series()的DB2等价物(PostgreSQL生成行的方式)。我显然不想用VALUES语句对行进行硬编码。

select * from generate_series(2,4);

    generate_series
    -----------------
                    2
                    3
                    4
    (3 rows)

2 个答案:

答案 0 :(得分:9)

where子句需要对递归的边界更加明确,以便DB2禁止警告。这是一个稍微调整过的版本,不会触发警告:

with dummy(id) as (
    select 2 from SYSIBM.SYSDUMMY1    
    union all
    select id + 1 from dummy where id < 4
)
select id from dummy

答案 1 :(得分:3)

我设法写了一个适合的递归查询:

with dummy(id) as (
    select 2 from SYSIBM.SYSDUMMY1    
    union all
    select id + 1 from dummy where id + 1 between 2 and 4
)
select id from dummy

查询可以适应您梦寐以求的(;;)。