generate_subscripts()
是一个系统函数,用于生成一系列整数,表示指定数组的下标。
generate_subscripts()
在PostgreSQL 8.4 中添加。
用法
generate_subscripts (array
anyarray
,dim
integer
) → setofinteger
generate_subscripts (array
anyarray
,dim
integer
,reverse
boolean
) → setofinteger
更改历史记录
- PostgreSQL 8.4
- 添加 (提交 1fcb977a)
示例
generate_subscripts()
的基本用法示例
postgres=# SELECT generate_subscripts(ARRAY['foo','bar','baz'], 1); generate_subscripts --------------------- 1 2 3 (3 rows)
下标可以以相反的顺序返回
postgres=# SELECT generate_subscripts(ARRAY['foo','bar','baz'], 1, TRUE); generate_subscripts --------------------- 3 2 1 (3 rows)
生成多维数组的下标
postgres=# SELECT generate_subscripts(ARRAY[['foo','bar','baz'],['boo','bom','bop']], 1); generate_subscripts --------------------- 1 2 (2 rows)
如果指定了无效的数组维度,则不返回任何值
postgres=# SELECT generate_subscripts(ARRAY['foo','bar','baz'], 2); generate_subscripts --------------------- (0 rows)
参考
- PostgreSQL 文档: 生成下标的函数