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

MySQL LOG2()関数–値の2を底とする対数を返します

    MySQLでは、LOG2() 関数は、指定された値の2を底とする対数を返します。

    関数を呼び出すときに、指定した値を引数として指定します。

    構文

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

    LOG2(X)
    

    X は、2を底とする対数を返す値です。

    X が0.0E0以下の場合、関数はNULLを返します 警告が生成されます。

    例1-基本的な使用法

    この関数がどのように機能するかを示す基本的な例を次に示します。

    SELECT LOG2(4);
    

    結果:

    +---------+
    | LOG2(4) |
    +---------+
    |       2 |
    +---------+
    

    そして、さまざまな値を使用した別の例を次に示します。

    SELECT 
      LOG2(8),
      LOG2(16),
      LOG2(128),
      LOG2(256),
      LOG2(1024);
    

    結果:

    +---------+----------+-----------+-----------+------------+
    | LOG2(8) | LOG2(16) | LOG2(128) | LOG2(256) | LOG2(1024) |
    +---------+----------+-----------+-----------+------------+
    |       3 |        4 |         7 |         8 |         10 |
    +---------+----------+-----------+-----------+------------+
    

    例2–負の値

    負の値を渡す例を次に示します。

    SELECT LOG2(-4);
    

    結果:

    +----------+
    | LOG2(-4) |
    +----------+
    |     NULL |
    +----------+
    1 row in set, 1 warning (0.01 sec)
    

    この例では、指定された引数が0.0E0未満であるため、NULL値(および警告)が返されます。

    例3–ゼロ

    引数としてゼロを渡す例を次に示します(前の例と同じ結果が得られます)。

    SELECT LOG2(0);
    

    結果:

    +---------+
    | LOG2(0) |
    +---------+
    |    NULL |
    +---------+
    1 row in set, 1 warning (0.00 sec)
    

    例4–式

    次のような式を渡すこともできます:

    SELECT LOG2(2+2);
    

    結果:

    +-----------+
    | LOG2(2+2) |
    +-----------+
    |         2 |
    +-----------+
    

    MySQLにはLOG10()もあります 値の常用対数を返す関数。

    LOG()もあります 関数(およびその同義語LN() )これは、数値の自然対数を返します。


    1. スペースを無視するクエリ

    2. Java SQLData-リスト/配列を使用してユーザーオブジェクトにキャストしますか?

    3. getReadableDatabase()のNullPointerException

    4. ユーザー定義の集計(clr)をウィンドウ関数(以上)で使用することは可能ですか?