ARRAY_POSITION 函数:查找 NULL 值的位置发生变更¶
当您调用 ARRAY_POSITION 函数并将一个值作为第一个实参传入时,该函数将返回包含该值的第一个 ARRAY 元素的位置。
当您指定 NULL 为第一个实参时,ARRAY_POSITION 函数发生变更:
- 之前:
该函数返回了 NULL。例如:
SELECT ARRAY_POSITION(NULL, [10, NULL, 30]); +--------------------------------------+ | ARRAY_POSITION(NULL, [10, NULL, 30]) | |--------------------------------------| | NULL | +--------------------------------------+
- 现在:
该函数返回 ARRAY 中第一个 NULL 的位置。例如:
SELECT ARRAY_POSITION(NULL, [10, NULL, 30]); +--------------------------------------+ | ARRAY_POSITION(NULL, [10, NULL, 30]) | |--------------------------------------| | 1 | +--------------------------------------+
实现此更改是为了与 ARRAY_CONTAINS 函数保持一致。当您使用 ARRAY_CONTAINS 函数确定 ARRAY 是否包含 NULL 时,该函数将返回 TRUE。
参考号:882