首頁 >資料庫 >mysql教程 >如何規範 PostgreSQL 陣列下標從 1 開始?

如何規範 PostgreSQL 陣列下標從 1 開始?

DDD
DDD原創
2025-01-09 12:16:45434瀏覽

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