La fonction GREATEST compare un ensemble de valeurs et renvoie la valeur maximale.
Syntaxe
greatest(<var1>, <var2>[,...])
Paramètres
var : obligatoire. Valeurs d'entrée de type BIGINT, DOUBLE, DECIMAL, DATETIME, DATE ou STRING.
Valeur de retour
Renvoie la valeur maximale parmi les paramètres d'entrée.
Si les paramètres d'entrée sont du même type de données, la valeur de retour est du même type.
-
Si les paramètres d'entrée sont de types de données différents, des conversions implicites s'appliquent selon les règles suivantes :
Les comparaisons entre les types DOUBLE, BIGINT et STRING sont converties vers le type DOUBLE.
Les comparaisons entre les types DECIMAL, DOUBLE, BIGINT et STRING sont converties vers le type DECIMAL.
-
Les comparaisons entre les types STRING et DATETIME sont converties vers le type DATETIME.
RemarqueLorsque le format d'entrée est une chaîne au format
yyyy-mm-dd hh:mi:sset que la version du type de données du projet MaxCompute est 1.0, l'entrée est implicitement convertie au type DATETIME avant le calcul. Pour plus d'informations sur la configuration de la version du type de données, consultez Version 1.0 du type de données.
Par défaut, les valeurs NULL sont traitées comme des valeurs minimales. Si
set odps.sql.hive.compatible=true;est défini et qu'un paramètre d'entrée est NULL, la fonction renvoie NULL.
Exemples
-- Returns 9.9.
SELECT greatest(2.5,5,3.14BD,'9.9');
-- Returns 2025-10-01 12:00:00.
SELECT greatest(datetime'2025-10-01 12:00:00',null) AS result;
-- Returns 2026-01-01.
SELECT greatest(date'2025-10-01', date'2025-10-03', date'2026-01-01',date'2025-02-02') AS result;
-- Returns 2025-10-02 12:00:00.
set odps.sql.type.system.odps2=false;
SELECT greatest(datetime'2025-10-01 12:00:00', '2025-10-02 12:00:00') AS result;
Fonctions associées
La fonction GREATEST est une fonction mathématique. Pour plus d'informations sur les fonctions liées au calcul et à la transformation des données, consultez Présentation des fonctions mathématiques.