Trong MariaDB, LOG2()
là một hàm tích hợp trả về logarit cơ số 2 của đối số của nó.
Cú pháp
Cú pháp như sau:
LOG2(X)
Ở đâu X
là giá trị trả về lôgarit cơ số 2.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT LOG2(3);
Kết quả:
+--------------------+ | LOG2(3) | +--------------------+ | 1.5849625007211563 | +--------------------+
Đây là một số khác:
SELECT
LOG2(2),
LOG2(4),
LOG2(8),
LOG2(16);
Kết quả:
+---------+---------+---------+----------+ | LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) | +---------+---------+---------+----------+ | 1 | 2 | 3 | 4 | +---------+---------+---------+----------+
Phạm vi đối số
Nếu X
nhỏ hơn hoặc bằng 0
, rồi đến NULL
được trả lại với một cảnh báo.
SELECT
LOG2(0),
LOG2(-1);
Kết quả:
+---------+----------+ | LOG2(0) | LOG2(-1) | +---------+----------+ | NULL | NULL | +---------+----------+ 1 row in set, 2 warnings (0.000 sec)
Hãy kiểm tra các cảnh báo:
SHOW WARNINGS;
Kết quả:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | | Warning | 1365 | Division by 0 | +---------+------+---------------+
Đối số không phải dạng số
Dưới đây là một ví dụ về những gì sẽ xảy ra khi chúng tôi cung cấp các đối số không phải là số:
SELECT LOG2('Dog');
Kết quả:
+-------------+ | LOG2('Dog') | +-------------+ | NULL | +-------------+ 1 row in set, 2 warnings (0.000 sec)
Hãy xem cảnh báo:
SHOW WARNINGS;
Kết quả:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Đối số rỗng
LOG2()
trả về null
nếu đối số của nó là null
:
SELECT LOG2(null);
Kết quả:
+------------+ | LOG2(null) | +------------+ | NULL | +------------+
Thiếu đối số
Đang gọi LOG2()
với số lượng đối số sai hoặc không có bất kỳ đối số nào dẫn đến lỗi:
SELECT LOG2();
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'
Và:
SELECT LOG2(10, 2);
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'