Este artigo aprenderá a criar e usar tipos de matriz no SQL padrão. É bom observar que, embora as matrizes façam parte do SQL padrão, bancos de dados como MySQL não suportam nativamente matrizes.
O que é uma matriz?
Uma matriz refere -se a uma coleção de uma lista ordenada de itens. Matrizes são muito úteis e poderosas. Aprender a trabalhar com uma matriz pode ajudar a melhorar o desempenho e fornecer técnicas complexas de manipulação de dados.
Em mecanismos de banco de dados, como BigQuery e PostGresql, uma matriz é um tipo embutido que pode ser usado em qualquer lugar do banco de dados.
No entanto, diferentemente do PostGresql, o BigQuery impede que você crie matrizes multidimensionais.
SQL Criar Array
A maneira mais simples de criar uma matriz é usar seu formato literal. Um exemplo é como mostrado:
SelecioneO código acima deve criar uma matriz chamada my_array com os elementos dentro dos colchetes quadrados.
Um exemplo de saída é como mostrado:
my_arrayO segundo método que você pode usar para criar uma matriz é a função Generate_array. Esta função está disponível apenas em BigQuery.
O código abaixo mostra como usar a função Generate_array para gerar uma matriz.
SelecioneO código acima gera uma variedade de itens de 1 a 5. A saída resultante é como mostrado:
my_arrayA função Generate_array segue a sintaxe como mostrado abaixo:
Generate_array (start_expression, end_expression [, step_expression])Você pode usar o Step_Expression para definir o tamanho da etapa para os elementos gerados.
Outras funções semelhantes incluem:
Você pode verificar a documentação sobre as funções da matriz para saber mais.
Acessando elementos da matriz
BigQuery nos permite usar o valor de deslocamento ou o valor ordinal para acessar elementos em uma matriz.
O deslocamento é um valor baseado em 0, enquanto o ordinal é baseado em 1.
Considere um exemplo de consulta abaixo:
SelecioneNa consulta, usamos a função Generate_array para gerar uma matriz com valores a partir de 1 a 5.
Em seguida, usamos as funções offset e ordinal para buscar o primeiro elemento na matriz.
O código acima deve retornar:
offset_0 ordinal_0Você pode escolher qualquer método de acesso à matriz que deseja usar. Por exemplo, escolha Offset se você preferir um índice baseado em 0; Caso contrário, escolha Ordinal.
Encontrando o comprimento da matriz
Para obter o comprimento de uma matriz, você pode usar a função Array_Length, como mostrado:
SelecioneIsso deve retornar a duração da matriz como:
f0_O comprimento da matriz refere -se ao número de elementos na matriz.
Converter matriz em linhas
Para converter uma matriz em um conjunto de linhas, use a função mais desnecessária, como mostrado abaixo:
SelecioneO código acima cria uma matriz de números pares de 0 a 20 e os converte em linhas usando a função mais desnecessária.
A saída resultante é mostrada abaixo:
atéVocê pode aprender mais sobre o comando mais desnecessário no tutorial vinculado.
Converter matriz em string
Se você tiver uma variedade de strings, poderá convertê -la em uma string usando a função Array_to_string.
Exemplo de uso é como mostrado:
SelecioneO código acima converte a matriz de strings em uma única string. A sintaxe da função é:
Array_to_string (Array_expression, delimiter [, null_text])Conclusão
Este artigo forneceu o conhecimento fundamental sobre como trabalhar com matrizes no SQL padrão usando BigQuery. Há mais sobre o tipo de matriz além do escopo deste tutorial. Verifique os recursos abaixo para explorar mais.
https: // nuvem.Google.com/bigquery/docs/reference/standard-sql/matrizes
https: // nuvem.Google.com/bigQuery/docs/reference/standard-sql/array_functions
Obrigado pela leitura, e espero que você tenha gostado!!