Heim > Datenbank > MySQL-Tutorial > Wie kann ich Array-Indexbereiche in PostgreSQL 9.6 und höher normalisieren?

Wie kann ich Array-Indexbereiche in PostgreSQL 9.6 und höher normalisieren?

Linda Hamilton
Freigeben: 2025-01-09 12:21:45
Original
118 Leute haben es durchsucht

How Can I Normalize Array Subscript Ranges in PostgreSQL 9.6 and Later?

Normalisierung von Array-Indexbereichen in PostgreSQL 9.6 und höher

Array-Indizes in PostgreSQL können von jedem Index aus beginnen. Viele Anwendungen bevorzugen jedoch einheitlich indizierte Arrays beginnend bei 1. In diesem Artikel werden Methoden zur Normalisierung eindimensionaler Arrays zur Einhaltung dieser Konvention erläutert.

Bestehende Lösungen

Zur Normalisierung der Indizes wurde zunächst eine komplexe Lösung mit den Funktionen array_lower und array_upper verwendet. Diese Methoden sind zwar effektiv, aber komplex und unelegant.

Vereinfachung für PostgreSQL 9.6

Mit der Veröffentlichung von PostgreSQL 9.6 kommt eine einfachere Lösung. Das Handbuch beschreibt die Möglichkeit, die untere und/oder obere Grenze des Slice-Spezifizierers wegzulassen, der dann standardmäßig den minimalen oder maximalen Index des Arrays verwendet.

Beispiel

So normalisieren Sie ein Array-Literal mit ungleichmäßigen Indizes:

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

In unserem Beispiel werden Klammern benötigt, um Mehrdeutigkeiten aufzulösen:

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

Diese vereinfachte Syntax erreicht eine ähnliche Leistung wie frühere Lösungen. Für frühere PostgreSQL-Versionen (9.5 oder früher) wird weiterhin empfohlen, array_lower und array_upper sowie einen festen maximalen Index zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich Array-Indexbereiche in PostgreSQL 9.6 und höher normalisieren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage