sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLのGREATEST()関数

    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

    1. SQLiteDiskIOExceptionエラーコード10:ディスクI/Oエラー

    2. ブラウザのJavaScriptからSQLServerデータベースに接続するにはどうすればよいですか?

    3. Oracleのデフォルトの日付形式はYYYY-MM-DDですが、なぜですか?

    4. Oracle Cloud Infrastructureでのイベントの操作パート1:サービスの基本