array_positions()

返回数组中每个值出现位置的函数

array_positions() 是一个系统函数,返回在数组中提供的每个值的子脚本(位置)。可以可选地提供起始子脚本。

array_positions()PostgreSQL 9.5中添加。

用法

array_positions ( anyarray, anyelement ) → integer[]

提供的数组只能有一维。

要仅搜索值的第一次出现,请使用array_position()

更改历史记录

示例

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

分类

数组系统函数

另请参阅

array_position()

反馈

提交任何关于 "array_positions()" 的评论、建议或更正 在此