首页 >数据库 >mysql教程 >如何规范 PostgreSQL 数组下标从 1 开始?

如何规范 PostgreSQL 数组下标从 1 开始?

DDD
DDD原创
2025-01-09 12:16:45404浏览

How Can I Normalize PostgreSQL Array Subscripts to Start at 1?

标准化 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn