集合返回函数

Hologres兼容PostgreSQL,支持使用标准的PostgreSQL语法进行开发。

Hologres已支持的集合返回函数列表如下。当前Hologres版本支持的函数是PostgreSQL的一个子集,函数的使用方法请参见集合返回函数

函数

功能

GENERATE_SERIES

从起始值到结束值生成一个固定步长的数值或日期序列。

GENERATE_SUBSCRIPTS

为给定数组的指定维度生成有效下标集。

GENERATE_SERIES

  • GENERATE_SERIES(start, stop [,step])

    • 描述:从startstop生成一个固定步长的数值序列。

      GENERATE_SERIES(start, stop[, step])
    • 参数说明

      start:必填,起始值,数据类型为INT、BIGINT或NUMERIC。

      stop:必填,结束值,数据类型为INT、BIGINT或NUMERIC。

      step:可选,步长值,数据类型为INT、BIGINT或NUMERIC。不填则默认步长为1。

    • 返回值说明

      返回与入参类型一致的一组序列。

    • 示例

      • 示例1:

        SELECT GENERATE_SERIES(2, 4);

        返回值结果如下。

         generate_series
        -----------------
                       2
                       3
                       4
      • 示例2:

        SELECT GENERATE_SERIES(5, 1, -2);

        返回结果如下。

         generate_series
        -----------------
                       5
                       3
                       1
  • GENERATE_SERIES(start, stop, step INTERVAL)

    • 描述:从startstop生成一个步长为step的日期序列。

      GENERATE_SERIES(start, stop, step INTERVAL)
    • 参数说明

      start:必填,起始值,数据类型为TIMESTAMP和TIMESTAMP WITH TIME ZONE。

      stop:必填,结束值,数据类型为TIMESTAMP和TIMESTAMP WITH TIME ZONE。

      step:必填,步长值(即时间间隔),数据类型为INTERVAL。

    • 返回值说明

      返回与入参类型一致的一组日期序列。

    • 示例

      SELECT GENERATE_SERIES('2024-10-01 00:00'::timestamp, '2024-10-01 12:00', '10 hours');

      返回结果如下。

         generate_series
      ---------------------
       2024-10-01 00:00:00
       2024-10-01 10:00:00

GENERATE_SUBSCRIPTS

  • 描述:为给定数组的指定维度生成有效下标集。

    GENERATE_SUBSCRIPTS(anyarray, dim)
  • 参数说明

    anyarray:必填,任何类型的多维数组。

    dim:必填,多维数组的维度,INT类型。

  • 返回值说明

    返回整型的集合。

  • 示例

    SELECT GENERATE_SUBSCRIPTS('{NULL,1,NULL,2}'::int[], 1);

    返回结果如下。

     generate_subscripts
    ---------------------
                       1
                       2
                       3
                       4