Funções de array - Amazon Timestream

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Funções de array

O Timestream for LiveAnalytics suporta as seguintes funções de matriz.

Função Tipo de dados de saída Descrição

array_distinct (x)

array

Remova valores duplicados da matriz x.

SELECT array_distinct(ARRAY[1,2,2,3])

Exemplo de resultado: [ 1,2,3 ]

interseção de matriz (x, y)

array

Retorna uma matriz dos elementos na interseção de x e y, sem duplicatas.

SELECT array_intersect(ARRAY[1,2,3], ARRAY[3,4,5])

Exemplo de resultado: [ 3 ]

união_matriz (x, y)

array

Retorna uma matriz dos elementos na união de x e y, sem duplicatas.

SELECT array_union(ARRAY[1,2,3], ARRAY[3,4,5])

Exemplo de resultado: [ 1,2,3,4,5 ]

array_except (x, y)

array

Retorna uma matriz de elementos em x, mas não em y, sem duplicatas.

SELECT array_except(ARRAY[1,2,3], ARRAY[3,4,5])

Exemplo de resultado: [ 1,2 ]

array_join (x, delimitador, substituição_nula)

varchar

Concatena os elementos da matriz fornecida usando o delimitador e uma string opcional para substituir os nulos.

SELECT array_join(ARRAY[1,2,3], ';', '')

Exemplo de resultado: 1;2;3

array_max (x)

igual aos elementos da matriz

Retorna o valor máximo da matriz de entrada.

SELECT array_max(ARRAY[1,2,3])

Exemplo de resultado: 3

array_min (x)

igual aos elementos da matriz

Retorna o valor mínimo da matriz de entrada.

SELECT array_min(ARRAY[1,2,3])

Exemplo de resultado: 1

array_position (x, elemento)

bigint

Retorna a posição da primeira ocorrência do elemento na matriz x (ou 0 se não for encontrada).

SELECT array_position(ARRAY[3,4,5,9], 5)

Exemplo de resultado: 3

array_remove (x, elemento)

array

Remova todos os elementos iguais ao elemento da matriz x.

SELECT array_remove(ARRAY[3,4,5,9], 4)

Exemplo de resultado: [ 3,5,9 ]

ordenação_matriz (x)

array

Classifica e retorna a matriz x. Os elementos de x devem ser ordenáveis. Elementos nulos serão colocados no final da matriz retornada.

SELECT array_sort(ARRAY[6,8,2,9,3])

Exemplo de resultado: [ 2,3,6,8,9 ]

sobreposição de matrizes (x, y)

boolean

Testa se as matrizes x e y têm algum elemento não nulo em comum. Retorna null se não houver elementos não nulos em comum, mas qualquer uma das matrizes contiver null.

SELECT arrays_overlap(ARRAY[6,8,2,9,3], ARRAY[6,8])

Exemplo de resultado: true

cardinalidade (x)

bigint

Retorna o tamanho da matriz x.

SELECT cardinality(ARRAY[6,8,2,9,3])

Exemplo de resultado: 5

concat (matriz1, matriz2,..., matrizN)

array

Concatena as matrizes array1, array2,..., arrayN.

SELECT concat(ARRAY[6,8,2,9,3], ARRAY[11,32], ARRAY[6,8,2,0,14])

Exemplo de resultado: [ 6,8,2,9,3,11,32,6,8,2,0,14 ]

element_at (matriz (E), índice)

E

Retorna o elemento da matriz em determinado índice. Se o índice for < 0, element_at acessa elementos do último ao primeiro.

SELECT element_at(ARRAY[6,8,2,9,3], 1)

Exemplo de resultado: 6

repetir (elemento, contagem)

array

Repita o elemento para contar os tempos.

SELECT repeat(1, 3)

Exemplo de resultado: [ 1,1,1 ]

reverso (x)

array

Retorna uma matriz que tem a ordem inversa da matriz x.

SELECT reverse(ARRAY[6,8,2,9,3])

Exemplo de resultado: [ 3,9,2,8,6 ]

sequência (iniciar, parar)

matriz (bigint)

Gere uma sequência de números inteiros do início ao fim, incrementando em 1 se o início for menor ou igual ao fim, caso contrário -1.

SELECT sequence(3, 8)

Exemplo de resultado: [ 3,4,5,6,7,8 ]

sequência (início, parada, etapa)

matriz (bigint)

Gere uma sequência de números inteiros do início ao fim, incrementando por etapa.

SELECT sequence(3, 15, 2)

Exemplo de resultado: [ 3,5,7,9,11,13,15 ]

sequência (iniciar, parar)

matriz (carimbo de data/hora)

Gere uma sequência de registros de data e hora da data de início até a data de término, incrementando em 1 dia.

SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-06 19:26:12.941000000', 1d)

Exemplo de resultado: [ 2023-04-02 19:26:12.941000000,2023-04-03 19:26:12.941000000,2023-04-04 19:26:12.941000000,2023-04-05 19:26:12.941000000,2023-04-06 19:26:12.941000000 ]

sequência (início, parada, etapa)

matriz (carimbo de data/hora)

Gere uma sequência de registros de data e hora do início ao fim, incrementando por etapa. O tipo de dados da etapa é intervalo.

SELECT sequence('2023-04-02 19:26:12.941000000', '2023-04-10 19:26:12.941000000', 2d)

Exemplo de resultado: [ 2023-04-02 19:26:12.941000000,2023-04-04 19:26:12.941000000,2023-04-06 19:26:12.941000000,2023-04-08 19:26:12.941000000,2023-04-10 19:26:12.941000000 ]

embaralhar (x)

array

Gere uma permutação aleatória da matriz dada x.

SELECT shuffle(ARRAY[6,8,2,9,3])

Exemplo de resultado: [ 6,3,2,9,8 ]

fatia (x, início, comprimento)

array

Subdefine a matriz x começando do início do índice (ou começando do final se o início for negativo) com um comprimento de comprimento.

SELECT slice(ARRAY[6,8,2,9,3], 1, 3)

Exemplo de resultado: [ 6,8,2 ]

zip (matriz1, matriz2 [,...])

matriz (linha)

Mescla as matrizes fornecidas, elemento a elemento, em uma única matriz de linhas. Se os argumentos tiverem um comprimento desigual, os valores ausentes serão preenchidos comNULL.

SELECT zip(ARRAY[6,8,2,9,3], ARRAY[15,24])

Exemplo de resultado: [ ( 6, 15 ),( 8, 24 ),( 2, - ),( 9, - ),( 3, - ) ]