GREATEST関数は、1つ以上の式のリストのうち、最大のものを戻します。
GREATEST (Expression [,...])
GREATESTには、次のパラメータがあります。
パラメータ | 説明 |
Expression [,...] | 最大の式の値を決定するために評価される1つ以上の式のリスト。オペランドまたは列には、数値、文字または日付を指定できます。リスト内の各式は、同じデータ型ファミリから採用する必要があります。 |
GREATEST関数を使用して、最大値の文字列を戻します。
Command> SELECT GREATEST ('GREAT', 'GREATER', 'GREATEST') FROM Dual;
< GREATEST >
1 row found.
GREATEST関数を使用して、最大値の数値式を戻します。この例の場合、数値の優先順位が最も高いデータ型はBINARY_DOUBLEのため、比較の前に各引数は暗黙的にBINARY_DOUBLEに変換され、BINARY_DOUBLEデータ型が戻されます。
Command> SELECT GREATEST (10, 10.55, 10.1D) FROM Dual;
< 10.5500000000000 >
1 row found.
DESCRIBEコマンドを使用して、戻されるデータ型がBINARY_DOUBLEであることを確認します。
Command> DESCRIBE SELECT GREATEST (10, 10.55, 10.1D) FROM Dual;
Prepared Statement:
Columns:
EXP BINARY_DOUBLE NOT NULL
GREATEST関数を使用して、最大値のDATE式を戻します。DATEおよびTIMESTAMPは、同じ日付ファミリです。
Command> SELECT GREATEST (DATE '2007-09-30',
TIMESTAMP '2007-09-30:10:00:00') FROM Dual;
< 2007-09-30 10:00:00 >
1 row found.
GREATEST関数を使用して、TT_DATE式およびTT_TIMESTAMP式のリスト内の最大値を戻そうと試みます。TT_DATEとTT_TIMESTAMPは異なる日付サブファミリに属しており、同じ式のリスト内では使用できないため、エラーが戻されます。
Command> SELECT GREATEST (TT_DATE '2007-09-30', TT_TIMESTAMP
'2007-09-30:10:00:00') FROM Dual;
2817: Invalid data type TT_TIMESTAMP for argument 2 for function GREATEST
The command failed.
GREATEST関数を使用して、最大値のTT_DATE式を戻します。
Command> SELECT GREATEST (TT_DATE '2007-09-30',
TT_DATE '2007-09-29', TT_DATE '2007-09-28') FROM Dual;
< 2007-09-30 >
1 row found.