PostgreSQL列举某区间内所有数据

一、简介

PostgreSQL 中有一个很有用处的内置函数generate_series,可以按不同的规则产生一系列的填充数据。

二、语法

函数 参数类型 返回类型 描述
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
generate_series(start, stop, step_interval) timestamp or timestamp with time zone timestamp 或 timestamp with time zone(same as argument type) 生成一个数值序列,从start 到 stop,步进为step

 

 

 

 

 

 

 

三、实例 

--int 类型-----------------
select generate_series(1, 10);---------------a. 不写步进时默认为1
select generate_series(1, 10, 3);------------b. 设置步进


--时间类型-----------------

select generate_series(now()::timestamp, now()::timestamp +'7 days', '1 day')


参考:

http://www.postgresql.org/docs/9.2/static/functions-srf.html

 

你可能感兴趣的:(PostgreSQL)