postgresql 集合类型_PostgreSQL 返回集合的函数

本文介绍了一种能够生成数值序列的函数generate_series,该函数可以指定起始值、终止值及步长,支持生成正序或倒序的序列,并提供了多个使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节描述那些可能返回多于一行的函数。目前这个类型的函数只有序列号生成函数,如表9-39所述。

表9-39. 序列号生成函数

函数参数类型返回类型描述

generate_series(start, stop)int 或 bigintsetof int 或 setof bigint (与参数类型相同)生成一个数值序列,从 start 到 stop ,步长为 1 。

generate_series(start, stop, step)int 或 bigintsetof int 或 setof bigint (与参数类型相同)生成一个数值序列,从 start 到 stop ,步长为 step 。

如果 step 是正数且 start 大于 stop ,那么返回零行。相反,如果 step 是负数且 start 小于 stop ,那么也返回零行。如果输入是 NULL ,同样产生零行。step 为零则是一个错误。下面是一些例子:

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值