標準化 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中文網其他相關文章!