Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya Boleh Menormalkan Subskrip Array PostgreSQL untuk Bermula pada 1?

Bagaimanakah saya Boleh Menormalkan Subskrip Array PostgreSQL untuk Bermula pada 1?

DDD
DDDasal
2025-01-09 12:16:45402semak imbas

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

Menyeragamkan Indeks Array PostgreSQL untuk Bermula pada 1

Fleksibiliti PostgreSQL membolehkan indeks tatasusunan bermula pada sebarang nombor. Walau bagaimanapun, menormalkan tatasusunan untuk bermula pada indeks 1 selalunya bermanfaat.

Kaedah Lama

Sebelum Postgres 9.6, penyelesaian diperlukan:

<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>

Pendekatan Ringkas (Postgres 9.6 dan lebih baru)

Postgres 9.6 memperkenalkan kaedah yang lebih ringkas dan cekap:

<code class="language-sql">SELECT my_arr[:];</code>

Untuk literal tatasusunan eksplisit, gunakan kurungan untuk kejelasan:

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

Pendekatan diperkemas ini memberikan prestasi yang setanding dengan kaedah lama, menjadikannya penyelesaian yang disyorkan untuk Postgres 9.6 dan versi seterusnya.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menormalkan Subskrip Array PostgreSQL untuk Bermula pada 1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn