Tous les produits
Search
Centre de documentation

MaxCompute:GREATEST

Dernière mise à jour :Aug 10, 2026

La fonction GREATEST compare un ensemble de valeurs et renvoie la plus grande.

Syntaxe

greatest(<var1>, <var2>[,...])

Paramètres

var : obligatoire. Valeur d'entrée. Types acceptés : BIGINT, DOUBLE, DECIMAL, DATETIME, DATE ou STRING.

Valeur de retour

  1. Renvoie la valeur maximale parmi les paramètres d'entrée.

  • Si tous les paramètres d'entrée sont du même type, la valeur de retour conserve ce type.

  • Si les types de données des paramètres diffèrent, une conversion implicite s'applique selon les règles suivantes :

    • Les comparaisons entre DOUBLE, BIGINT et STRING convertissent les valeurs en DOUBLE.

    • Les comparaisons entre DECIMAL, DOUBLE, BIGINT et STRING convertissent les valeurs en DECIMAL.

    • Les comparaisons entre STRING et DATETIME convertissent les valeurs en DATETIME.

      Remarque

      Si l'entrée est une chaîne STRING au format yyyy-mm-dd hh:mi:ss et que la version des types de données du projet MaxCompute est 1.0, la valeur est implicitement convertie en DATETIME avant le calcul. Pour configurer la version des types de données, consultez la rubrique MaxCompute V1.0 data type edition.

  1. Par défaut, les valeurs NULL sont considérées comme les plus petites. Si set odps.sql.hive.compatible=true; est activé et qu'un paramètre d'entrée est NULL, le résultat renvoyé est NULL.

Exemples

-- 返回9.9。
SELECT greatest(2.5,5,3.14BD,'9.9');
-- 返回2025-10-01 12:00:00。
SELECT greatest(datetime'2025-10-01 12:00:00',null) AS result;
-- 返回2026-01-01。
SELECT greatest(date'2025-10-01', date'2025-10-03',date'2026-01-01',date'2025-02-02') AS result;
-- 返回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;

Documentation connexe

  • La fonction GREATEST fait partie des fonctions mathématiques.