标准化 PostgreSQL 数组索引,从 1 开始
PostgreSQL 的灵活性允许数组索引从任意数字开始。 然而,从索引 1 开始标准化数组通常是有益的。
旧方法
在 Postgres 9.6 之前,需要一种解决方法:
<code class="language-sql">SELECT ('[5:7]={1,2,3}'::int[])[array_lower('[5:7]={1,2,3}'::int[], 1):array_upper('[5:7]={1,2,3}'::int[], 1)]</code>
简化方法(Postgres 9.6 及更高版本)
Postgres 9.6引入了更加简洁高效的方法:
<code class="language-sql">SELECT my_arr[:];</code>
对于显式数组文字,为了清楚起见,请使用括号:
<code class="language-sql">SELECT ('[5:7]={1,2,3}'::int[])[:];</code>
这种简化的方法提供了与旧方法相当的性能,使其成为 Postgres 9.6 及后续版本的推荐解决方案。
以上是如何规范 PostgreSQL 数组下标从 1 开始?的详细内容。更多信息请关注PHP中文网其他相关文章!