array_positions()
是一个系统函数,返回在数组中提供的每个值的子脚本(位置)。可以可选地提供起始子脚本。
array_positions()
在PostgreSQL 9.5中添加。
用法
array_positions (anyarray
,anyelement
) →integer
[]
提供的数组只能有一维。
要仅搜索值的第一次出现,请使用array_position()
。
更改历史记录
- PostgreSQL 9.5
- 添加 (提交 13dbc7a8)
示例
array_positions()
的基本用法示例
postgres=# SELECT array_positions(ARRAY[1,2,3,2,1], 1); array_positions ----------------- {1,5} (1 row)
可以搜索NULL
值
postgres=# SELECT array_positions(ARRAY[1,2,NULL,2,NULL], NULL); array_positions ----------------- {3,5} (1 row)
尝试使用多维数组
postgres=# SELECT array_positions(ARRAY[[1,2,3],[1,2,3]], 2); ERROR: searching for elements in multidimensional arrays is not supported
参考文献
- PostgreSQL 文档: 数组函数