ARRAY_POSITION 関数: NULL 値の位置の見つけ方への変更

注意

この動作変更は2023_01バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

ARRAY_POSITION 関数を呼び出して最初の引数として値を渡すと、関数はその値を持つ最初の ARRAY 要素の位置を返します。

NULL を最初の引数として指定する場合の ARRAY_POSITION が変更されました。

以前

関数は NULL を返しました。例:

SELECT ARRAY_POSITION(NULL, [10, NULL, 30]);

+--------------------------------------+
| ARRAY_POSITION(NULL, [10, NULL, 30]) |
|--------------------------------------|
|                                 NULL |
+--------------------------------------+
Copy
現在

関数は ARRAY の最初の NULL の位置を返します。例:

SELECT ARRAY_POSITION(NULL, [10, NULL, 30]);
+--------------------------------------+
| ARRAY_POSITION(NULL, [10, NULL, 30]) |
|--------------------------------------|
|                                    1 |
+--------------------------------------+
Copy

この変更は ARRAY_CONTAINS 関数と一貫性を持たせるために実装されました。ARRAY に NULL が含まれるかどうかを判断するために ARRAY_CONTAINS 関数を使用すると、関数は TRUE を返します。

参照: 882