ARRAY_REVERSE |
Tableau inverse |
| BigQuery |
Syntaxe
Paramètres
| Nom |
Description |
| value |
Ce paramètre permet de spécifier le tableau dont les éléments doivent être retournés dans l'ordre inverse. |
Description
Cette fonction permet de demander les éléments dans l'ordre inverse du tableau spécifié.
Remarques
- La fonction ARRAY_REVERSE permet d'inverser l'ordre des éléments d'un tableau sans modifier leur contenu : C'est une opération utile lorsqu'on souhaite
traiter ou visualiser les éléments du plus récent au plus ancien ou du dernier au premier, par exemple dans des journaux ou des historiques.
- Elle retourne un nouveau tableau, et non une vue ou un pointeur sur le tableau original : Cela signifie que toute modification ultérieure devra être
faite sur le tableau retourné et non sur l'original, ce qui permet d'éviter les effets de bord non désirés.
- Elle est souvent utilisée conjointement avec des fonctions comme ARRAY_AGG(... ORDER BY ...) pour inverser un tri initial : Par exemple, on peut agréger
des éléments dans l'ordre croissant, puis utiliser ARRAY_REVERSE pour les avoir en ordre décroissant sans réécrire la clause ORDER BY.
- Cette fonction est utile pour des présentations dans des interfaces utilisateur où l'ordre chronologique inversé est plus pertinent : Par exemple, dans
un rapport, afficher les derniers événements ou messages en haut d'un tableau peut nécessiter ARRAY_REVERSE.
- ARRAY_REVERSE gère correctement les tableaux vides et retourne un tableau vide dans ce cas, sans générer d'erreur : Cela permet de l'utiliser dans
des contextes où l'on ne peut pas garantir que le tableau contient des éléments.
- Si le paramètre fourni à la fonction est NULL, alors la fonction retourne également NULL : Ce comportement respecte les principes de propagation des
valeurs nulles dans SQL et évite les surprises en cas de données manquantes.
- Elle ne modifie pas les éléments du tableau eux-mêmes, seulement leur position : Les objets contenus, qu'ils soient scalaires ou complexes (STRUCT,
ARRAY imbriqué), restent inchangés quant à leur contenu interne.
- Cette fonction est particulièrement utile pour les algorithmes ou requêtes qui nécessitent une logique de pile (LIFO), où le dernier élément est traité en
premier : Cela peut être pertinent dans des cas de traitement de flux, d'historique d'actions ou d'analyses rétroactives.
Dernière mise à jour : Jeudi, le 18 Juin 2020