Heim > Datenbank > MySQL-Tutorial > Wie kann ich PostgreSQL-Array-Indizes so normalisieren, dass sie bei 1 beginnen?

Wie kann ich PostgreSQL-Array-Indizes so normalisieren, dass sie bei 1 beginnen?

DDD
Freigeben: 2025-01-09 12:16:45
Original
353 Leute haben es durchsucht

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

Standardisierung von PostgreSQL-Array-Indizes, um bei 1 zu beginnen

Die Flexibilität von PostgreSQL ermöglicht es, dass Array-Indizes bei einer beliebigen Zahl beginnen. Allerdings ist es oft von Vorteil, Arrays so zu normalisieren, dass sie bei Index 1 beginnen.

Ältere Methode

Vor Postgres 9.6 war eine Problemumgehung erforderlich:

<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>
Nach dem Login kopieren

Vereinfachter Ansatz (Postgres 9.6 und höher)

Postgres 9.6 führte eine prägnantere und effizientere Methode ein:

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

Für explizite Array-Literale verwenden Sie aus Gründen der Klarheit Klammern:

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

Dieser optimierte Ansatz bietet eine Leistung, die mit der älteren Methode vergleichbar ist, und ist daher die empfohlene Lösung für Postgres 9.6 und nachfolgende Versionen.

Das obige ist der detaillierte Inhalt vonWie kann ich PostgreSQL-Array-Indizes so normalisieren, dass sie bei 1 beginnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage