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 文档: 数组函数