Denne artikkelen vil lære hvordan du oppretter og bruker matriser i standard SQL. Det er bra å merke seg at selv om matriser er en del av standard SQL, støtter ikke databaser som MySQL.
Hva er en matrise?
En matrise refererer til en samling av en bestilt liste over elementer. Arrays er veldig nyttige og kraftige. Å lære å jobbe med en matrise kan bidra til å forbedre ytelsen og gi komplekse datamanipulasjonsteknikker.
I databasemotorer som BigQuery og PostgreSQL, er en matrise en innebygd type som kan brukes hvor som helst i databasen.
I motsetning til PostgreSQL, forhindrer imidlertid BigQuery deg i å lage flerdimensjonale matriser.
SQL Lag matrise
Den enkleste måten å lage en matrise er å bruke det bokstavelige formatet. Et eksempel er som vist:
PLUKKE UTKoden over skal opprette en matrise som heter My_Array med elementene i de firkantede parentesene.
Et eksempelutgang er som vist:
my_arrayDen andre metoden du kan bruke til å lage en matrise er generate_array -funksjonen. Denne funksjonen er bare tilgjengelig i BigQuery.
Koden nedenfor viser hvordan du bruker generate_array -funksjonen for å generere en matrise.
PLUKKE UTKoden over genererer en rekke elementer fra 1 til 5. Den resulterende utgangen er som vist:
my_arrayGenerate_array -funksjonen følger syntaks som vist nedenfor:
Generere_array (start_expression, end_expression [, step_expression])Du kan bruke Step_Expression for å sette trinnstørrelsen for de genererte elementene.
Andre lignende funksjoner inkluderer:
Du kan sjekke dokumentasjonen på matrisefunksjoner for å lære mer.
Få tilgang til matriseelementer
BigQuery lar oss bruke enten forskyvningsverdien eller den ordinære verdien for å få tilgang til elementer i en matrise.
Offset er en 0-basert verdi, mens ordinalen er 1-basert.
Tenk på et eksempel på spørringen nedenfor:
PLUKKE UTI spørringen bruker vi generate_array -funksjonen for å generere en matrise med verdier fra 1 til 5.
Vi bruker deretter forskyvnings- og ordinære funksjoner for å hente det første elementet i matrisen.
Koden over skal returnere:
offset_0 ordinal_0Du kan velge hvilken metode for matriseadgang du ønsker å bruke. Velg for eksempel forskyvning hvis du foretrekker en 0-basert indeks; Ellers, velg Ordinal.
Finne array -lengde
For å få lengden på en matrise, kan du bruke array_length -funksjonen som vist:
PLUKKE UTDette skal returnere lengden på matrisen som:
f0_Arrayens lengde refererer til antall elementer i matrisen.
Konverter matrisen til rader
For å konvertere en matrise til et sett med rader, bruk Unnest -funksjonen som vist nedenfor:
PLUKKE UTKoden over oppretter en rekke jevnt tall fra 0 til 20 og konverterer dem til rader ved hjelp av Unnest -funksjonen.
Den resulterende utgangen er vist nedenfor:
til og medDu kan lære mer om Unnest -kommandoen i den koblede opplæringen.
Konverter matrisen til streng
Hvis du har en rekke strenger, kan du konvertere den til en streng ved hjelp av array_to_string -funksjonen.
Eksempelbruk er som vist:
PLUKKE UTKoden over konverterer rekke strenger til en enkelt streng. Funksjonssyntaksen er:
Array_to_string (array_expression, avgrensning [, null_text])Konklusjon
Denne artikkelen ga den grunnleggende kunnskapen om hvordan du jobber med matriser i standard SQL ved hjelp av BigQuery. Det er mer om matrisetypen utover denne opplæringens omfang. Sjekk ressursene nedenfor for å utforske mer.
https: // sky.Google.com/bigquery/docs/referanse/standard-SQL/Arrays
https: // sky.Google.com/bigquery/docs/referanse/standard-SQL/Array_Functions
Takk for at du leste, og jeg håper du likte det!!