In diesem Artikel lernen und verwenden Sie Array -Typen in Standard -SQL. Es ist gut zu beachten, dass Arrays zwar Teil von Standard -SQL sind, Datenbanken wie MySQL Arrays nicht nativ unterstützen.
Was ist ein Array?
Ein Array bezieht sich auf eine Sammlung einer geordneten Liste von Elementen. Arrays sind sehr nützlich und mächtig. Das Lernen, wie man mit einem Array arbeitet, kann dazu beitragen, die Leistung zu verbessern und komplexe Datenmanipulationstechniken bereitzustellen.
In Datenbankmotoren wie BigQuery und PostgreSQL ist ein Array ein integrierter Typ, der überall in der Datenbank verwendet werden kann.
Im Gegensatz zu Postgresql hindert BigQuery jedoch daran, mehrdimensionale Arrays zu erstellen.
SQL Array erstellen
Der einfachste Weg, ein Array zu erstellen, besteht darin, sein wörtliches Format zu verwenden. Ein Beispiel ist wie gezeigt:
WÄHLENDer obige Code sollte ein Array namens My_array mit den Elementen in den Quadratklammern erstellen.
Ein Beispielausgang ist wie gezeigt:
my_arrayDie zweite Methode, mit der Sie ein Array erstellen können, ist die Funktion generate_array. Diese Funktion ist nur in BigQuery erhältlich.
Der folgende Code zeigt, wie die Funktion generate_array verwendet wird, um ein Array zu generieren.
WÄHLENDer obige Code generiert eine Reihe von Elementen von 1 bis 5. Die resultierende Ausgabe ist wie gezeigt:
my_arrayDie Funktion generate_array folgt der Syntax, wie unten gezeigt:
Generate_array (start_expression, end_expression [, step_expression]))Sie können Step_expression verwenden, um die Schrittgröße für die generierten Elemente festzulegen.
Andere ähnliche Funktionen umfassen:
Sie können die Dokumentation in Array -Funktionen überprüfen, um mehr zu erfahren.
Zugriff auf Array -Elemente
Mit BigQuery können wir entweder den Offset -Wert oder den Ordnungswert verwenden, um in einem Array auf Elemente zuzugreifen.
Der Offset ist ein 0-basierter Wert, während der Ordinal 1 basiert ist.
Betrachten Sie eine Beispielabfrage unten:
WÄHLENIn der Abfrage verwenden wir die Funktion generate_array, um ein Array mit Werten von 1 bis 5 zu generieren.
Wir verwenden dann die Offset- und Ordnungsfunktionen, um das erste Element im Array zu holen.
Der obige Code sollte zurückgeben:
Offset_0 ordinal_0Sie können eine beliebige Methode des Array -Zugriffs auswählen, die Sie verwenden möchten. Wählen Sie beispielsweise Offset, wenn Sie einen 0-basierten Index bevorzugen. Andernfalls wählen Sie Ordinal.
Arraylänge finden
Um die Länge eines Arrays zu erhalten, können Sie die Funktion array_length wie gezeigt verwenden:
WÄHLENDies sollte die Länge des Arrays als:
f0_Die Länge des Arrays bezieht sich auf die Anzahl der Elemente im Array.
Array in Zeilen umwandeln
Verwenden Sie, um ein Array in eine Reihe von Zeilen umzuwandeln, die unten gezeigte Unnest -Funktion:
WÄHLENDer obige Code erstellt eine Reihe von gleichmäßigen Zahlen von 0 bis 20 und konvertiert sie mit der Unnest -Funktion in Zeilen.
Die resultierende Ausgabe ist unten angezeigt:
selbstSie können mehr über den Unnest -Befehl im verknüpften Tutorial erfahren.
Konvertieren Sie das Array in String
Wenn Sie eine Reihe von Zeichenfolgen haben, können Sie sie mit der Funktion array_to_string in eine Zeichenfolge konvertieren.
Die Beispielnutzung ist wie gezeigt:
WÄHLENDer obige Code wandelt das Zeichenzeichen in eine einzelne Zeichenfolge um. Die Funktionssyntax ist:
Array_to_string (array_expression, delimiter [, null_text])Abschluss
Dieser Artikel lieferte das grundlegende Wissen über die Arbeit mit Arrays in Standard -SQL mit BigQuery. Es gibt mehr über den Array -Typ über den Bereich dieses Tutorials hinaus. Überprüfen Sie die folgenden Ressourcen, um mehr zu erkunden.
https: // cloud.Google.com/bigQuery/docs/reference/Standard-SQL/Arrays
https: // cloud.Google.com/bigQuery/docs/reference/Standard-sql/array_functions
Danke fürs Lesen und ich hoffe es hat dir gefallen!!