如何获取值在PostgreSQL数组中的位置?Python有.index()个方法,PHP有array_search()个函数,但我在PostgreSQL中找不到这样的函数.我应该写一个存储函数来实现这一点吗?我更喜欢使用内置函数求解.

推荐答案

Since version 9.5,有内置函数:array_position()array_positions(),用于按值搜索数组键(仅第一次出现)或键(所有出现).

这些函数支持任何数组类型.

Postgresql相关问答推荐

无法从Docker迁移Golang上的两个不同服务到一个数据库'

哪种数据类型是除法的结果?

如何在生成的列的表达式中使用TIMESTAMP WITH时区列?

sqlalchemy在Flask 下运行时出现无法解释的错误

Postgres 查询指向国外数据工作者的分区表比直接查询 fdw 慢很多倍

在 postgresql 数据库 timestampz 中保留用户偏移量

无法从在 wsl 2 上运行的服务之一连接到在 wsl 2 上的容器中运行的 postgres 数据库

Rails 迁移:PostgreSQL 上的 Bigint 似乎失败了?

Postgres中的GROUP BY - JSON数据类型不相等?

什么是 postgres 超级用户

为什么PostgresQL查询性能随时间下降,但在重建索引时恢复

与 Oracle 的 CONNECT BY ... START WITH 等效的 PostgreSQL 语法是什么?

如何判断 PostgreSQL 事务中的待处理操作

在 PostgreSQL 中的表上禁用 DELETE?

避免通过 JPA 将null值插入数据库表

在 pg_restore 期间排除表

如何在 JPA 中使用 Postgres JSONB 数据类型?

如何使用 postgresql 按计数排序?

postgres LISTEN/NOTIFY rails

性能调优:为布尔列创建索引