generate_subscripts() 是一个系统函数,用于生成一系列整数,表示指定 数组 的下标。
generate_subscripts() 添加于 PostgreSQL 8.4。
用法
generate_subscripts (arrayanyarray,diminteger) → setofinteger
generate_subscripts (arrayanyarray,diminteger,reverseboolean) → 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 文档: 下标生成函数
