Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menormalkan Julat Subskrip Array dalam PostgreSQL 9.6 dan Kemudian?
Penormalan julat subskrip tatasusunan dalam PostgreSQL 9.6 dan kemudian
Subskrip tatasusunan dalam PostgreSQL boleh bermula dari mana-mana indeks. Walau bagaimanapun, banyak aplikasi lebih suka tatasusunan diindeks seragam bermula pada 1. Artikel ini membincangkan kaedah untuk menormalkan tatasusunan satu dimensi untuk mengikuti konvensyen ini.
Penyelesaian sedia ada
Pada mulanya, penyelesaian kompleks menggunakan fungsi array_lower
dan array_upper
digunakan untuk menormalkan subskrip. Kaedah ini, walaupun berkesan, adalah kompleks dan tidak elegan.
Pemudahan untuk PostgreSQL 9.6
Dengan keluaran PostgreSQL 9.6 datang penyelesaian yang lebih mudah. Manual menerangkan keupayaan untuk meninggalkan sempadan bawah dan/atau atas penentu hirisan, yang kemudiannya menjadi lalai kepada subskrip minimum atau maksimum tatasusunan.
Contoh
Untuk menormalkan tatasusunan literal dengan subskrip tidak seragam:
<code class="language-sql">SELECT (my_arr[:]);</code>
Dalam contoh kami, kurungan diperlukan untuk menyelesaikan kekaburan:
<code class="language-sql">SELECT ('[5:7]={1,2,3}'::int[][:]);</code>
Sintaks yang dipermudahkan ini mencapai prestasi yang serupa dengan penyelesaian terdahulu. Untuk versi PostgreSQL yang lebih awal (9.5 atau lebih awal), masih disyorkan untuk menggunakan array_lower
dan array_upper
dan subskrip maksimum tetap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menormalkan Julat Subskrip Array dalam PostgreSQL 9.6 dan Kemudian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!