MAX 集約関数

MAX 関数は、グループの値の集合の最大値を戻します。

構文図を読むビジュアルシンタックスダイアグラムをスキップするMAX(ALLDISTINCT)

スキーマは SYSIBM です。

引数同士の間に互換性がなければなりません。 互換性に関する詳細については、 表1の互換性マトリックスを参照してください。 最初の引数を除くすべての引数をパラメーター・マーカーにすることができます。

expression
組み込みデータ・タイプの値を返す式。 それぞれの式が、CLOB、DBCLOB、BLOB、ROWID、または XML ではない値を返す必要があります。 文字ストリング引数およびバイナリー・ストリング引数の長さ属性は 32704 を超えては なりません。グラフィック・ストリング引数の長さ属性は 16352 を超えてはなりません。

文字ストリングまたはグラフィック・ストリングと数値の引数が混在している場合、ストリング値は暗黙的に DECFLOAT(34) 値にキャストされます。

この関数の結果は最大の引数値となります。 結果のデータ・タイプとその他の属性 (例えば、ストリングや日時値の長さと CCSID) は、引数値のデータ・タイプや属性と同じです。 結果は NULL 値の場合もあります。

この関数は、引数の値から NULL 値を除いて求めた値の集合に対して適用されます。

空のセットに関数を適用すると、結果は NULL 値となります。 それ以外の場合、結果はそのセットの中の最大値になります。

DISTINCT を指定しても結果には影響を与えないため、使用しない ようにしてください。

例1: サンプルテーブルDSN8C10.EMP に表示されている従業員の最高月給を、DECIMAL(8,2)変数MAX_SALARYに設定します。
   EXEC SQL SELECT MAX(SALARY) / 12
     INTO :MAX_SALARY
     FROM DSN8C10.EMP;
例2: サンプル表DSN8C10.EMP に示されている従業員の照合順序で最後にくる姓を見つける。 VARCHAR(15) 変数 LAST_NAME をその名字に設定します。
   EXEC SQL SELECT MAX(LASTNAME)
     INTO :LAST_NAME
     FROM DSN8C10.EMP;