GREATEST 関数は、値のグループを比較し、最大値を返します。
構文
greatest(<var1>, <var2>[,...])パラメーター
var: 必須。 BIGINT、DOUBLE、DECIMAL、DATETIME、DATE、または STRING 型の入力値。
戻り値
入力パラメーターの中から最大値を返します。
入力パラメーターが同じデータ型の場合、戻り値は入力パラメーターと同じデータ型になります。
入力パラメーターのデータ型が異なる場合、次のルールに基づいて暗黙的な変換が実行されます:
DOUBLE、BIGINT、および STRING 型間の比較は、DOUBLE 型に変換されます。
DECIMAL、DOUBLE、BIGINT、および STRING 型間の比較は、DECIMAL 型に変換されます。
STRING 型と DATETIME 型の比較は、DATETIME 型に変換されます。
説明入力フォーマットが
yyyy-mm-dd hh:mi:ssのフォーマットの STRING 型で、MaxCompute プロジェクトのデータ型バージョンが 1.0 の場合、入力は計算前に暗黙的に DATETIME 型に変換されます。 データ型バージョンの設定の詳細については、「データ型エディション 1.0」をご参照ください。
デフォルトでは、NULL 値は最小値として扱われます。
set odps.sql.hive.compatible=true;が設定されていて、いずれかの入力パラメーターが NULL の場合、NULL が返されます。
例
-- 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;関連する関数
GREATEST 関数は数学関数です。 データ計算およびデータ変換に関連する関数の詳細については、「数学関数」をご参照ください。