Questo articolo imparerà come creare e utilizzare i tipi di array in SQL standard. È bene notare che sebbene gli array facciano parte di SQL standard, i database come MySQL non supportano in modo nativo array.
Cos'è un array?
Un array si riferisce a una raccolta di un elenco ordinato di articoli. Gli array sono molto utili e potenti. Imparare a lavorare con un array può aiutare a migliorare le prestazioni e fornire complesse tecniche di manipolazione dei dati.
Nei motori di database come BigQuery e PostgreSQL, un array è un tipo integrato che può essere utilizzato ovunque nel database.
Tuttavia, a differenza di PostgreSQL, BigQuery ti impedisce di creare array multidimensionali.
SQL Crea array
Il modo più semplice per creare un array è usare il suo formato letterale. Un esempio è come mostrato:
SELEZIONAREIl codice sopra dovrebbe creare un array chiamato my_array con gli elementi all'interno delle staffe quadrate.
Un output di esempio è come mostrato:
my_arrayIl secondo metodo che puoi utilizzare per creare un array è la funzione Generate_array. Questa funzione è disponibile solo in BigQuery.
Il codice seguente mostra come utilizzare la funzione Generate_array per generare un array.
SELEZIONAREIl codice sopra genera un array di elementi da 1 a 5. L'output risultante è come mostrato:
my_arrayLa funzione Generate_Array segue la sintassi come mostrato di seguito:
Generate_array (start_expression, end_expression [, step_expression])È possibile utilizzare STEP_Expression per impostare la dimensione del passaggio per gli elementi generati.
Altre funzioni simili includono:
Puoi controllare la documentazione sulle funzioni dell'array per saperne di più.
Accesso ad elementi di array
BigQuery ci consente di utilizzare il valore offset o il valore ordinale per accedere agli elementi in un array.
L'offset è un valore basato su 0, mentre l'ordinale è basato su 1.
Considera una query di esempio di seguito:
SELEZIONARENella query, utilizziamo la funzione Generate_Array per generare un array con valori che iniziano da 1 a 5.
Usiamo quindi le funzioni offset e ordinali per recuperare il primo elemento nell'array.
Il codice sopra dovrebbe restituire:
offset_0 ordinal_0Puoi scegliere qualsiasi metodo di accesso all'array che desideri utilizzare. Ad esempio, selezionare Offset se preferisci un indice basato su 0; Altrimenti, scegli l'ordinale.
Trovare la lunghezza dell'array
Per ottenere la lunghezza di un array, è possibile utilizzare la funzione Array_Length come mostrato:
SELEZIONAREQuesto dovrebbe restituire la lunghezza dell'array come:
f0_La lunghezza dell'array si riferisce al numero di elementi nell'array.
Convertire l'array in righe
Per convertire un array in un set di righe, utilizzare la funzione UNNEST come mostrato di seguito:
SELEZIONAREIl codice sopra crea un array di numeri pari da 0 a 20 e li converte in righe usando la funzione poco più.
L'output risultante è mostrato di seguito:
AnchePuoi saperne di più sul comando non più.
Convertire l'array in stringa
Se hai una serie di stringhe, è possibile convertirlo in una stringa usando la funzione Array_to_String.
L'uso di esempio è come mostrato:
SELEZIONAREIl codice sopra converte l'array di stringhe in una singola stringa. La sintassi della funzione è:
Array_to_string (array_expression, delimiter [, null_text])Conclusione
Questo articolo ha fornito le conoscenze fondamentali su come lavorare con gli array in SQL standard utilizzando BigQuery. C'è di più sul tipo di array oltre l'ambito di questo tutorial. Controlla le risorse seguenti per esplorare di più.
https: // cloud.Google.com/bigquery/docs/riferimento/standard-sql/array
https: // cloud.Google.com/bigquery/docs/riferimento/standard-sql/array_functions
Grazie per la lettura e spero che ti sia piaciuto!!