集合を返す関数

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 第 9章関数と演算子 | 早送り | 次のページ

# 9.18. 集合を返す関数

本節では、複数行を返すことができる関数について説明します 現在、このクラスの関数のみが、表9-38で説明する、連続生成関数です。

表 9-38. 連続生成関数

関数 | 引数型 | 戻り値の型 | 説明
--- | --- | --- | ---
``generate_series`(`start`, `stop`)` | `int` または `bigint` | `setof int` または`setof bigint` (引数の型と同一) | `start`から`stop`までの刻み1で連続する値を生成します。
``generate_series`(`start`, `stop`, `step`)` | `int` または `bigint` | `setof int` または `setof bigint` (引数の型と同一) | `start`から`stop`までの刻み`step`で連続する値を生成します。

`step`が正の場合、`start`が`stop`よりも大きいと0行が返ります。 反対に、`step`が負の場合は、`start`が`stop`よりも小さいと0行が返ります。 `step`が0の時はエラーになります。 また、`NULL`が入力された場合も0行が返ります。 以下に数点例を示します。

    select * from generate_series(2,4);
     generate_series
    -----------------
                   2
                   3
                   4
    (3 rows)

    select * from generate_series(5,1,-2);
     generate_series
    -----------------
                   5
                   3
                   1
    (3 rows)

    select * from generate_series(4,3);
     generate_series
    -----------------
    (0 rows)

    select current_date + s.a as dates from generate_series(0,14,7) as s(a);
       dates
    ------------
     2004-02-05
     2004-02-12
     2004-02-19
    (3 rows)

前のページ | ホーム | 次のページ
行と配列の比較 | 上に戻る | システム情報関数