跳转到内容


PostgreSQL 序列号生成函数


2 replies to this topic

#1 稻草人

    职业选手

  • 注册用户
  • 点子点子点子
  • 526 帖子数:

发表于 2007/02/24 23:59:52

Table 9-38. 序列号生成函数

函数参数类型返回类型描述[font=新宋体]generate_series(start, stop)[/font][font=新宋体]int[/font] 或 [font=新宋体]bigint[/font][font=新宋体]setof int[/font] 或 [font=新宋体]setof bigint[/font] (与参数类型相同)生成一个数值序列,从 [font=新宋体]start[/font] 到 [font=新宋体]stop[/font],步进为一。 [font=新宋体]generate_series(start, stop, step)[/font][font=新宋体]int[/font] or [font=新宋体]bigint[/font][font=新宋体]setof int[/font] or [font=新宋体]setof bigint[/font] (same as argument type)生成一个数值序列,从 [font=新宋体]start[/font] 到 [font=新宋体]stop[/font],步进为 [font=新宋体]step[/font]。 如果 [font=新宋体]step[/font] 是正数,而 [font=新宋体]start[/font] 大于 [font=新宋体]stop[/font], 那么返回零行。想法,如果 [font=新宋体]step[/font] 是负数,[font=新宋体]start[/font] 小于 [font=新宋体]stop[/font], 则返回零行。如果是 [font=新宋体]NULL[/font] 输入,也产生零行。[font=新宋体]step[/font] 为零则是一个错误。 下面是一些例子:

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)


#2 cathyleung

    新手上路

  • 注册用户
  • 点子点子
  • 45 帖子数:

发表于 2009/06/02 10:50:49

支持支持~

#3 天兴互联8003

    新手上路

  • 注册用户
  • 点子
  • 6 帖子数:

发表于 2009/11/03 09:00:31

很支持,所以顶顶~