首頁 > 資料庫 > mysql教程 > 如何在 PostgreSQL 9.6 及更高版本中標準化陣列下標範圍?

如何在 PostgreSQL 9.6 及更高版本中標準化陣列下標範圍?

Linda Hamilton
發布: 2025-01-09 12:21:45
原創
118 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板