PostgreSQLでは、GREATEST()
関数は、任意の数の式のリストから最大(または最大)の値を返します。
GREATEST()
関数はSQL標準には含まれていませんが、多くの主要なRDBMSがサポートする一般的な拡張機能です。
構文
GREATEST(value [, ...])
これは、1つ以上の値を関数に渡すことができることを意味します。
例
簡単な例を次に示します。
SELECT GREATEST( 3, 15, 7 );
結果:
15
文字列
すべての引数が文字列である例を次に示します。
SELECT GREATEST( 'Bear', 'Zebra', 'Ant' );
結果:
Zebra
日付
日付文字列の比較は次のとおりです:
SELECT GREATEST(date '2027-01-01', date '2027-12-31');
結果:
2027-12-31
一般的なデータ型
式はすべて、共通のデータ型に変換可能である必要があります。結果はこのタイプを使用します。
式を共通のデータ型に変換できない場合、エラーが発生します:
SELECT GREATEST( 3, 'Fifteen', 7 );
結果:
ERROR: invalid input syntax for type integer: "Fifteen" LINE 1: SELECT GREATEST( 3, 'Fifteen', 7 ); ^
ヌル値
すべての式がnull
でない限り、null値は無視されます 。すべての式がnull
の場合 、次にnull
返されます:
\pset null '<null>'
SELECT
GREATEST( 3, null, 7 ),
GREATEST( null, null, null );
結果:
greatest | greatest ----------+---------- 7 | <null>
デフォルトでは、psqlはnull値で空の文字列を返します。この例の最初の行では、null値を設定して<null>
を出力します。 これにより、nullの結果を簡単に確認できるようになります。
引数がありません
GREATEST()
を呼び出す 引数がないとエラーが発生します:
SELECT GREATEST();
結果:
ERROR: syntax error at or near ")" LINE 1: SELECT GREATEST(); ^
ただし、エラーなしで1つの引数を渡すことができます:
SELECT GREATEST( 1 );
結果:
1