Series Generating Functions

本文介绍了PostgreSQL中的generate_series函数,该函数用于生成一系列整数或时间戳值。文章详细解释了函数的不同用法及参数设定,并通过实例展示了如何生成假数据。

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

作者:瀚高PG实验室 (Highgo PG Lab)

generate_series允许我们生成一个数据的集合,而且可以随意的设置增长值。generate_series支持两种数据类型:integer类型和 timestamp类型。

级数生成函数

函数

描述

generate_series(start, stop)

生成一系列值,范围从start到stop,step值为1

generate_series(start, stop,step)

生成一系列值,范围从start到stop,并设定step值

generate_series(start, stop,step interval)

生成一系列值,范围从start到stop,并设定step值

当step值为正,而且start的值比stop大时,会返回零行。相反,当step值为负,而且start 的值比stop小时,会返回零行。

输入值全部为NULL时也会返回零行。

注意!!!如果step值为0会报错。

下面我们举几个例子,来观察级数生成函数的执行结果

图1 数据从1到5
图2 数据从1到10,step为3
图3 timestamp类型

然后我们考虑生成假数据的问题:

当我们把generate_series放到一个CTE中时,我们可以很容易的得到一组数字,然后用每个值进行一些运算。如果我们想生成一些假数字,就可以使用random(),它生成一个0到1之间的随机数。结果如图4所示:

图4 生成假数据

PostgreSQL中有大量隐藏的宝库,generate_series只是其中便捷的内置特征之一。还有很多好的功能等待我们挖掘使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值