MariaDBでは、LOG2()
は、引数の2を底とする対数を返す組み込み関数です。
構文
構文は次のようになります:
LOG2(X)
ここでX
2を底とする対数を返す値です。
例
デモンストレーションの例を次に示します。
SELECT LOG2(3);
結果:
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
さらにいくつかあります:
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16);
結果:
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
引数の範囲
X
の場合 0
以下 、次にNULL
警告とともに返されます。
SELECT
LOG2(0),
LOG2(-1);
結果:
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
警告を確認しましょう:
SHOW WARNINGS;
結果:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
非数値引数
数値以外の引数を指定するとどうなるかの例を次に示します。
SELECT LOG2('Dog');
結果:
+-------------+ | LOG2('Dog') | +-------------+ | NULL | +-------------+ 1 row in set, 2 warnings (0.000 sec)
警告を見てみましょう:
SHOW WARNINGS;
結果:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
ヌル引数
LOG2()
null
を返します 引数がnull
の場合 :
SELECT LOG2(null);
結果:
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
引数がありません
LOG2()
を呼び出す 引数の数が間違っているか、引数がない場合、エラーが発生します:
SELECT LOG2();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
そして:
SELECT LOG2(10, 2);
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'