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

MySQL GREATEST()関数–引数のリストから最大の引数を検索します

    MySQL GREATEST() 関数は、値のリストから最大の値を返す比較関数です。

    値のリストは複数の引数として提供されます。つまり、GREATEST() 引数のリストから最大値の引数を返します。

    構文

    GREATEST()の構文 このようになります:

    GREATEST(value1,value2,...)

    各引数はコンマで区切られます。この関数はそれらすべてを比較し、最大値を持つものを返します。

    例1-数値の比較

    すべての引数が整数の場合、それらは整数として比較されます。

    SELECT GREATEST(12, 120, 2400) AS 'Result';
    

    結果:

    +--------+
    | Result |
    +--------+
    |   2400 |
    +--------+

    少なくとも1つの引数が倍精度の場合、それらは倍精度値として比較されます。それ以外の場合、少なくとも1つの引数がDECIMALの場合 値、それらはDECIMALとして比較されます 値。

    SELECT GREATEST(12.00, 120, 2400) AS 'Result';
    

    結果:

    +---------+
    | Result  |
    +---------+
    | 2400.00 |
    +---------+

    戻り値を決定するための正確なルールについては、以下を参照してください。

    例2–文字列の比較

    文字列を比較する例を次に示します。

    SELECT GREATEST('a', 'b', 'c') AS 'Result';
    

    結果:

    +--------+
    | Result |
    +--------+
    | c      |
    +--------+

    もう1つあります:

    SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
    

    結果:

    +--------+
    | Result |
    +--------+
    | Rat    |
    +--------+

    例3–NULL値

    引数のいずれかがNULLの場合 、結果はNULLです 。

    SELECT GREATEST('a', NULL, 'c') AS 'Result';
    

    結果:

    +--------+
    | Result |
    +--------+
    | NULL   |
    +--------+

    比較ルール

    戻り値を決定する際には、特定の規則が適用されます。これらのルールは次のとおりです。

    • 引数がNULLの場合 、結果はNULLです 。比較する必要はありません。
    • すべての引数が整数値の場合、それらは整数として比較されます。
    • 少なくとも1つの引数が倍精度の場合、それらは倍精度値として比較されます。それ以外の場合、少なくとも1つの引数がDECIMALの場合 値、それらはDECIMALとして比較されます 値。
    • 引数が数字と文字列の組み合わせで構成されている場合、それらは数字として比較されます。
    • 引数が非バイナリ(文字)文字列の場合、引数は非バイナリ文字列として比較されます。
    • 他のすべての場合、引数はバイナリ文字列として比較されます。


    1. SQLiteで現在の時刻を取得する方法

    2. Oracle 11gで2つの日付の間の日数を取得するにはどうすればよいですか?

    3. SQL ServerのDB_NAME()とORIGINAL_DB_NAME():違いは何ですか?

    4. WebページのHTMLテーブル内にMySQLデータベーステーブルの値を表示する