[ ]Operador (sinal de colchete)

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Retorna um elemento de matriz ou um valor de mapa considerando um índice ou uma chave.

Sintaxe

expr [ keyExpr ]

Observe que o uso de colchetes aqui é como texto literal e não indica uma sintaxe opcional.

Argumentos

  • expr: uma expressão ARRAY ou MAP.
  • keyExpr: se expr for uma ARRAY, um numérico integral. Caso contrário, uma expressão correspondente ao tipo da chave do MAP.

Retornos

O tipo de resultado é o tipo de elemento da ARRAY ou o tipo de valor do MAP.

O primeiro elemento de uma ARRAY está no índice 0.

Se a keyExpr não for uma chave válida para o MAP expr o Azure Databricks retornar nulo.

Se a keyExpr estiver fora do limite da ARRAY expr o Azure Databricks gerar um erro INVALID_ARRAY_INDEX.

Observação

No Databricks Runtime, se spark.sql.ansi.enabled for false, o operador retornará NULL, em vez de um erro “Fora do limite”.

Exemplos

> SELECT a[2] FROM VALUES(array(10, 20, 30)) AS T(a);
  30

> SELECT m[1] FROM VALUES(map(1, 'Hello', 2, 'World')) AS T(m);
  Hello