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

OracleのLEAST()関数

    Oracle Databaseでは、LEAST() 関数は、1つ以上の式のリストの最小のものを返します。

    構文 構文は次のようになります。

    LEAST(expr [, expr ]...)
    最初のexpr 返品タイプを決定するために使用されます:

    • 最初のexprの場合 が数値の場合、Oracleは数値の優先順位が最も高い引数を判別し、比較の前に残りの引数をそのデータ型に暗黙的に変換し、そのデータ型を返します。
    • 最初のexprの場合 ではありません 数値、次に各 expr 最初のデータ型が最初のexprのデータ型に暗黙的に変換された後 比較前。
    例を次に示します。

    SELECT LEAST('a', 'b', 'c')
    FROM DUAL;

    結果:

    a

    もう少し:

    SELECT 
        LEAST('A', 'a') AS "r1",
        LEAST('Cat', 'Dog', 'Dot') AS "r2",
        LEAST(1, 2, 3) AS "r3",
        LEAST(1, '2', 3) AS "r4",
        LEAST('Cat', '2001-12-31') AS "r5"
    FROM DUAL;

    結果:

       r1     r2    r3    r4            r5 
    _____ ______ _____ _____ _____________ 
    A     Cat        1     1 2001-12-31   
    表現 引数には次のような式を含めることができます。

    SELECT LEAST(2 * 3, 1 * 3)
    FROM DUAL;

    結果:

    3
    日付 日付文字列の比較は次のとおりです。

    SELECT LEAST(DATE '2020-01-01', DATE '2021-01-01')
    FROM DUAL;

    結果:

    01-JAN-20
    日付は現在のセッションの日付形式で返されます。現在のセッションの日付形式を確認する方法を参照してください。

    ヌル値 引数がnullの場合 、結果はnullです :

    SET NULL 'null';
    SELECT 
        LEAST(null, 2),
        LEAST(1, null)
    FROM DUAL;

    結果:

       LEAST(NULL,2)    LEAST(1,NULL) 
    ________________ ________________ 
    null                         null

    デフォルトでは、SQLclおよびSQL * Plusは、SQL SELECTの結果としてnull値が発生するたびに空白を返します。 ステートメント。

    ただし、SET NULLを使用できます 返される別の文字列を指定します。ここでは、文字列nullを指定しました 返却する必要があります。

    無効な引数カウント

    LEAST()を呼び出す 引数がないとエラーが発生します:

    SELECT LEAST()
    FROM DUAL;

    結果:

    SQL Error: ORA-00938: not enough arguments for function
    00938. 00000 -  "not enough arguments for function"

    GREATEST()を使用することもできます 1つまたは複数の式のリストの最大のものを返します。


    1. MariaDBでLEAST()がどのように機能するか

    2. MySQLとMariaDBで安全な方法でスキーマ変更を実行する方法

    3. OSXMavericksへのRODBC/ROracleパッケージのインストール

    4. 認証プラグイン「caching_sha2_password」はサポートされていません