すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:GREATEST

最終更新日:Oct 24, 2025

GREATEST 関数は、値のグループを比較し、最大値を返します。

構文

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

パラメーター

var: 必須。 BIGINT、DOUBLE、DECIMAL、DATETIME、DATE、または STRING 型の入力値。

戻り値

  1. 入力パラメーターの中から最大値を返します。

  • 入力パラメーターが同じデータ型の場合、戻り値は入力パラメーターと同じデータ型になります。

  • 入力パラメーターのデータ型が異なる場合、次のルールに基づいて暗黙的な変換が実行されます:

    • 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」をご参照ください。

  1. デフォルトでは、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 関数は数学関数です。 データ計算およびデータ変換に関連する関数の詳細については、「数学関数」をご参照ください。