Funções de array - Amazon Timestream

Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais aqui.

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 Description

array_distinct(x)

array

Remove valores duplicados da matriz x.

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

Exemplo de resultado: [ 1,2,3 ]

array_intersect(x, y)

array

Retorna uma matriz dos elementos na interseção de array1 and array2, sem duplicatas.

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

Exemplo de resultado: [ 3 ]

array_union(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, delimiter, null_replacement)

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)

o mesmo que 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)

o mesmo que 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, element)

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, element)

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 ]

array_sort(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 ]

arrays_overlap(x, y)

booleano

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

cardinality(x)

bigint

Retorna o tamanho da matriz x.

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

Exemplo de resultado: 5

concat(array1, array2, ..., arrayN)

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(array(E), index)

E

Retorna o elemento da matriz em um 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

repeat(element, count)

array

Repite o elemento para contar os tempos.

SELECT repeat(1, 3)

Exemplo de resultado: [ 1,1,1 ]

reverse(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 ]

sequence(start, stop)

array(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 término, caso contrário, -1.

SELECT sequence(3, 8)

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

sequence(start, stop, step)

array(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 ]

sequence(start, stop)

array(timestamp)

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 ]

sequence(start, stop, step)

array(timestamp)

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 ]

shuffle(x)

array

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

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

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

slice(x, start, length)

array

Faz um subconjunto da matriz x começando do início do índice (os índices de matriz começam em 1) ou começando do final se o onício for negativo) com o comprimento especificado.

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

Exemplo de resultado: [ 6,8,2 ]

zip(array1, array2[, ...])

array(row)

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

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

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