Dans PostgreSQL, le LEAST()
renvoie la plus petite valeur d'une liste de n'importe quel nombre d'expressions.
Le LEAST()
La fonction n'est pas incluse dans la norme SQL, mais c'est une extension populaire prise en charge par de nombreux SGBDR majeurs.
Syntaxe
LEAST(value [, ...])
Cela signifie essentiellement que nous pouvons transmettre une ou plusieurs valeurs à la fonction.
Exemple
Voici un exemple simple pour illustrer :
SELECT LEAST( 5, 2, 9 );
Résultat :
2
Type de données commun
Les expressions doivent toutes être convertibles en un type de données commun. Le résultat utilisera ce type.
Si les expressions ne peuvent pas être converties en un type de données commun, une erreur se produit :
SELECT LEAST( 5, 'Two', 9 );
Résultat :
ERROR: invalid input syntax for type integer: "Two" LINE 1: SELECT LEAST( 5, 'Two', 9 ); ^
Chaînes
L'exemple précédent ne veut pas dire que nous ne pouvons pas utiliser de chaînes. C'est simplement pour montrer que nous ne pouvons pas convertir les types de données.
Pour illustrer, voici un exemple où tous les arguments sont des chaînes :
SELECT LEAST( 'Cat', 'Dog', 'Aardvark' );
Résultat :
Aardvark
Dates
Voici une comparaison des chaînes de date :
SELECT LEAST(date '2030-01-01', date '2030-12-31');
Résultat :
2030-01-01
Valeurs nulles
Les valeurs nulles sont ignorées sauf si toutes les expressions sont null
. Si toutes les expressions sont null
, puis null
est renvoyé :
\pset null '<null>'
SELECT
LEAST( 5, null, 9 ),
LEAST( null, null, null );
Résultat :
least | least -------+-------- 5 | <null>
Par défaut, psql renvoie la chaîne vide sur les valeurs nulles. Dans la première ligne de cet exemple, j'ai défini des valeurs nulles pour afficher <null>
afin qu'il nous soit plus facile de voir le résultat nul.
Arguments manquants
Appel de LEAST()
sans aucun argument génère une erreur :
SELECT LEAST();
Résultat :
ERROR: syntax error at or near ")" LINE 1: SELECT LEAST(); ^
Cependant, nous pouvons passer un argument sans erreur :
SELECT LEAST( 1 );
Résultat :
1