Função ARRAY_POSITION: mudanças para encontrar a posição de um valor NULL¶
Atenção
Essa mudança de comportamento está no pacote 2023_01.
Para saber o status atual do pacote, consulte Histórico do pacote.
Quando você chama a função ARRAY_POSITION e passa um valor como o primeiro argumento, a função retorna a posição do primeiro elemento ARRAY com esse valor.
A função ARRAY_POSITION mudou quando você especifica NULL como o primeiro argumento:
- Anteriormente:
A função retorna NULL. Por exemplo:
SELECT ARRAY_POSITION(NULL, [10, NULL, 30]); +--------------------------------------+ | ARRAY_POSITION(NULL, [10, NULL, 30]) | |--------------------------------------| | NULL | +--------------------------------------+
- Atualmente:
A função retornará a posição do primeiro NULL na ARRAY. Por exemplo:
SELECT ARRAY_POSITION(NULL, [10, NULL, 30]); +--------------------------------------+ | ARRAY_POSITION(NULL, [10, NULL, 30]) | |--------------------------------------| | 1 | +--------------------------------------+
Esta mudança foi implementada por uma questão de consistência com a função ARRAY_CONTAINS. Quando você usar a função ARRAY_CONTAINS para determinar se uma ARRAY contém NULL, a função retornará TRUE.
Ref: 882