array_position()

返回数组中值首次出现位置的函数

array_position() 是一个系统函数,它返回指定值在 数组 中首次出现的下标(位置)。可以可选地提供一个起始下标。

array_position()PostgreSQL 9.5 中添加。

用法

array_position ( anyarray, anyelement [, integer ] ) → integer

提供的数组只能有一维。

要搜索值的所有出现位置,请使用 array_positions()

变更历史

示例

array_position() 的基本用法示例

postgres=# SELECT array_position(ARRAY[1,2,3], 2);
 array_position 
----------------
              2
(1 row)

查找在给定下标处或之后首次出现的位置

postgres=# SELECT array_position(ARRAY['foo','bar','baz','boo','foo'], 'foo', 3);
 array_position 
----------------
              5
(1 row)

可以搜索 NULL

postgres=# SELECT array_position(ARRAY[1,2,3,NULL,5], NULL);
 array_position 
----------------
              4
(1 row)

尝试使用多维数组

postgres=# SELECT array_position(ARRAY[⁣[1,2,3],[1,2,3]⁣], 2);
ERROR:  searching for elements in multidimensional arrays is not supported

分类

数组, 系统函数

另请参阅

array_positions()

反馈

提交关于“array_position()”的任何评论、建议或更正请在此处 提交