LEAST |
Mineurs |
|---|---|
| Oracle Database SQL | Oracle version 6 ou supérieure |
Syntaxe
| least(expression1,...,expressionN) |
Paramètres
| Nom | Description |
|---|---|
| expression1,...,expressionN | Ce paramètre permet d'indiquer une liste d'expression ou un tableau représentant des nombres à vérifier |
Description
Cette fonction permet de retourner le plus petit entier d'une expression ou d'une liste.
Remarques
- Fonction simple de comparaison multi-arguments : La fonction LEAST permet de comparer plusieurs expressions et de retourner la plus petite valeur parmi elles. Cela facilite la comparaison directe entre plusieurs colonnes ou constantes sans avoir à écrire plusieurs conditions complexes.
- Supporte un nombre variable de paramètres : LEAST accepte un nombre variable d'arguments, ce qui signifie que l'on peut comparer deux valeurs comme plusieurs dizaines. Cette flexibilité est très utile pour simplifier les expressions conditionnelles ou les calculs de bornes.
- Compatible avec différents types de données : Bien que souvent utilisée avec des nombres, LEAST peut aussi comparer des chaînes de caractères (en respectant l'ordre lexicographique) ou des dates, ce qui en fait une fonction polyvalente dans différents contextes.
- Renvoie NULL si une des expressions est NULL : Si au moins une des expressions comparées est NULL, et que cette expression n'est pas gérée explicitement, la fonction retourne NULL. Cela nécessite souvent de prévoir des traitements complémentaires, comme NVL, pour éviter des résultats inattendus.
- Utilisation simple et lisible : L'utilisation de LEAST rend les requêtes plus concises et lisibles comparées à l'usage de multiples CASE ou conditions IF-THEN-ELSE imbriquées. Elle est idéale pour des comparaisons rapides dans les clauses SELECT ou WHERE.
- Optimisation par le moteur Oracle : La fonction est optimisée en interne pour effectuer rapidement la comparaison entre les expressions, même quand leur nombre est élevé, ce qui permet d'obtenir de bonnes performances même sur de larges volumes de données.
- Gestion des types mixtes : Lorsqu'on compare différents types compatibles (par exemple nombre et chaîne convertible), Oracle effectue une conversion implicite pour comparer les valeurs. Cela peut provoquer des comportements inattendus, il faut donc rester vigilant.
- Peut être combinée avec d'autres fonctions : LEAST s'utilise souvent avec des fonctions comme NVL, COALESCE ou GREATEST pour gérer des cas particuliers ou des comparaisons plus complexes, notamment dans les calculs conditionnels ou la validation de données.
- Applications courantes en validation et contrôle : La fonction est très utilisée pour déterminer la plus petite valeur entre plusieurs indicateurs, par exemple pour limiter une date de fin à la plus proche d'une liste, ou pour contrôler une limite inférieure dans des calculs métier.
- Particulièrement utile dans les expressions conditionnelles : Dans les requêtes complexes, LEAST simplifie la syntaxe des comparaisons multiples ayant autrement nécessité plusieurs conditions imbriquées, réduisant ainsi le risque d'erreur dans la logique.
- Gestion des chaînes de caractères : Quand elle est appliquée à des chaînes, LEAST retourne la chaîne qui vient en premier dans l'ordre alphabétique, selon le paramètre de collation de la base de données, ce qui peut servir pour trier ou filtrer des noms, codes, ou catégories.
- Fonction standard SQL portable : LEAST est supportée par de nombreux autres systèmes de bases de données SQL (comme PostgreSQL, MySQL, SQL Server avec syntaxe similaire), ce qui facilite la portabilité du code SQL entre différentes plateformes.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
- SELECT 'LEAST(5,-18)=' As Text, Least(5,-18) As Result FROM DUAL UNION
- SELECT 'LEAST(0.25,0.115)=' As Text, Least(0.25,0.115) As Result FROM DUAL UNION
- SELECT 'LEAST(1,2,3,4,5)=' As Text, Least(1,2,3,4,5) As Result FROM DUAL UNION
- SELECT 'LEAST(5,4,3,2,1)=' As Text, Least(5,4,3,2,1) As Result FROM DUAL UNION
- SELECT 'LEAST(24,34,13,72,100,1,34)=' As Text, Least(24,34,13,72,100,1,34) As Result FROM DUAL
on obtiendra le résultat suivant :
| TEXT | RESULT |
| LEAST(0.25,0.115)= | ,115 |
| LEAST(1,2,3,4,5)= | 1 |
| LEAST(24,34,13,72,100,1,34)= | 1 |
| LEAST(5,-18)= | -18 |
| LEAST(5,4,3,2,1)= | 1 |
Voir également
Langage de programmation - Oracle - Référence de fonctions- «GREATEST»
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015