DB2中的generate_series()等效 [英] generate_series() equivalent in DB2

查看:228
本文介绍了DB2中的generate_series()等效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在搜索DB2等效的 generate_series() (PostgreSQL-生成行的方式)。我显然不想使用 VALUES 语句。

  select * from generate_series(2,4); 

generate_series
-----------------
2
3
4
( 3行)


解决方案

where子句需要一点更明确地说明递归的界限,以便DB2抑制警告。这是一个略微调整的版本,不会触发警告:

  with dummy(id)as(
select 2 from SYSIBM.SYSDUMMY1
联合全部
从虚拟位置选择id + 1,其中id< 4

从虚拟中选择id
pre>

I'm trying to search the DB2 equivalent of generate_series() (the PostgreSQL-way of generating rows). I obviously don't want to hard-code the rows with a VALUES statement.

select * from generate_series(2,4);

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

解决方案

The where clause needs to be a bit more explicit about the bounds of the recursion in order for DB2 to suppress the warning. Here's a slightly adjusted version that does not trigger the warning:

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

这篇关于DB2中的generate_series()等效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆