Fonction ARRAY_POSITION : modifications apportées à la recherche de la position d’une valeur NULL

Attention

Ce changement de comportement figure dans le bundle 2023_01.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

Lorsque vous appelez la fonction ARRAY_POSITION et transmettez une valeur comme premier argument, la fonction renvoie la position du premier élément ARRAY avec cette valeur.

La fonction ARRAY_POSITION a changé lorsque vous spécifiez NULL comme premier argument :

Précédemment

La fonction renvoyait NULL. Par exemple :

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

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

La fonction renvoie la position du premier NULL dans le ARRAY. Par exemple :

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

Cette modification a été implémentée par souci de cohérence avec la fonction ARRAY_CONTAINS. Lorsque vous utilisez la fonction ARRAY_CONTAINS pour déterminer si un ARRAY contient NULL, la fonction renvoie TRUE.

Réf : 882