array_position()
是一个系统函数,用于返回在 数组中提供的值的首次出现的下标(位置)。可以可选地提供起始下标。
array_position()
在 PostgreSQL 9.5 中添加。
用法
array_position (anyarray
,anyelement
[,integer
] ) →integer
提供的数组只能有一维。
要搜索值的全部出现次数,请使用 array_positions()
。
更改历史记录
- PostgreSQL 9.5
- 添加 (提交 13dbc7a8)
示例
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
参考
- PostgreSQL 文档: 数组函数