首页 > 数据库 > mysql教程 > 如何在 PostgreSQL 9.6 及更高版本中标准化数组下标范围?

如何在 PostgreSQL 9.6 及更高版本中标准化数组下标范围?

Linda Hamilton
发布: 2025-01-09 12:21:45
原创
171 人浏览过

How Can I Normalize Array Subscript Ranges in PostgreSQL 9.6 and Later?

PostgreSQL 9.6 及更高版本中数组下标范围的规范化

PostgreSQL 中的数组下标可以从任意索引开始。但是,许多应用程序更喜欢从 1 开始的统一下标数组。本文讨论将一维数组规范化为遵循此约定的方法。

现有解决方案

最初,使用 array_lowerarray_upper 函数的复杂解决方案被用来规范化下标。这些方法虽然有效,但复杂且不够优雅。

PostgreSQL 9.6 的简化

随着 PostgreSQL 9.6 的发布,出现了一种更直接的解决方案。手册介绍了省略切片说明符的下界和/或上界的能力,然后将其默认为数组的最小或最大下标。

示例

要规范化具有非统一下标的数组字面量:

<code class="language-sql">SELECT (my_arr[:]);</code>
登录后复制

在我们的示例中,需要括号来解决歧义:

<code class="language-sql">SELECT ('[5:7]={1,2,3}'::int[][:]);</code>
登录后复制

这种简化的语法实现了与早期解决方案类似的性能。对于早期 PostgreSQL 版本(9.5 或更早版本),仍然建议使用 array_lowerarray_upper 以及固定的最大下标。

以上是如何在 PostgreSQL 9.6 及更高版本中标准化数组下标范围?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板