Le MySQL GREATEST()
La fonction est une fonction de comparaison qui renvoie la plus grande valeur d'une liste de valeurs.
La liste de valeurs est fournie sous forme d'arguments multiples. Donc, en d'autres termes, GREATEST()
renvoie l'argument de valeur maximale à partir d'une liste d'arguments.
Syntaxe
La syntaxe de GREATEST()
va comme ceci :
GREATEST(value1,value2,...)
Chaque argument est séparé par une virgule. Cette fonction les compare tous et renvoie celui avec la plus grande valeur.
Exemple 1 – Comparer des nombres
Si tous les arguments sont des entiers, ils sont comparés comme des entiers.
SELECT GREATEST(12, 120, 2400) AS 'Result';
Résultat :
+--------+ | Result | +--------+ | 2400 | +--------+
Si au moins un argument est en double précision, ils sont comparés en tant que valeurs en double précision. Sinon, si au moins un argument est un DECIMAL
valeur, ils sont comparés en tant que DECIMAL
valeurs.
SELECT GREATEST(12.00, 120, 2400) AS 'Result';
Résultat :
+---------+ | Result | +---------+ | 2400.00 | +---------+
Voir ci-dessous les règles exactes pour déterminer la valeur de retour.
Exemple 2 – Comparer des chaînes
Voici un exemple de comparaison de chaînes.
SELECT GREATEST('a', 'b', 'c') AS 'Result';
Résultat :
+--------+ | Result | +--------+ | c | +--------+
En voici une autre :
SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
Résultat :
+--------+ | Result | +--------+ | Rat | +--------+
Exemple 3 – Valeurs NULL
Si l'un des arguments est NULL
, le résultat est NULL
.
SELECT GREATEST('a', NULL, 'c') AS 'Result';
Résultat :
+--------+ | Result | +--------+ | NULL | +--------+
Règles de comparaison
Certaines règles sont appliquées lors de la détermination de la valeur de retour. Ces règles sont les suivantes :
- Si un argument est
NULL
, le résultat estNULL
. Aucune comparaison n'est nécessaire. - Si tous les arguments ont une valeur entière, ils sont comparés en tant qu'entiers.
- Si au moins un argument est en double précision, ils sont comparés en tant que valeurs en double précision. Sinon, si au moins un argument est un
DECIMAL
valeur, ils sont comparés en tant queDECIMAL
valeurs. - Si les arguments comprennent un mélange de nombres et de chaînes, ils sont comparés en tant que nombres.
- Si un argument est une chaîne non binaire (caractère), les arguments sont comparés en tant que chaînes non binaires.
- Dans tous les autres cas, les arguments sont comparés en tant que chaînes binaires.