全部產品
Search
文件中心

MaxCompute:GREATEST

更新時間:Jul 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函數屬於數學函數,更多資料計算、資料轉換的相關函數請參見數學函數