Trong MySQL, LOG()
hàm trả về lôgarit tự nhiên của một giá trị được chỉ định.
Bạn cung cấp giá trị được chỉ định làm đối số khi gọi hàm.
Cú pháp
Hàm này có thể được sử dụng với một hoặc hai đối số. Sử dụng một đối số trông giống như sau:
LOG(X)
Ở đâu X
là giá trị mà bạn muốn trả về lôgarit tự nhiên.
Nếu X
nhỏ hơn hoặc bằng 0,0E0, hàm trả về NULL
và một cảnh báo được tạo.
Nó cũng có thể được sử dụng với hai đối số, như sau:
LOG(B,X)
Trong trường hợp này, hàm trả về logarit của X
đến cơ sở B
. Nếu X
nhỏ hơn hoặc bằng 0 hoặc nếu B
nhỏ hơn hoặc bằng 1 thì NULL
được trả lại.
Ví dụ 1 - Một đối số
Dưới đây là một ví dụ cơ bản để chứng minh cách hàm này hoạt động bằng cách sử dụng một đối số.
SELECT LOG(3);
Kết quả:
+--------------------+ | LOG(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
Và đây là một ví dụ khác sử dụng một giá trị khác.
SELECT LOG(0.3);
Kết quả:
+---------------------+ | LOG(0.3) | +---------------------+ | -1.2039728043259361 | +---------------------+
Ví dụ 2 - Giá trị âm
Dưới đây là một ví dụ về việc chuyển một giá trị âm.
SELECT LOG(-3);
Kết quả:
+---------+ | LOG(-3) | +---------+ | NULL | +---------+
Ví dụ này trả về giá trị NULL vì đối số được cung cấp nhỏ hơn 0,0E0.
Ví dụ 3 - Số không
Dưới đây là một ví dụ về việc chuyển 0 làm đối số (chúng tôi nhận được kết quả tương tự như ví dụ trước).
SELECT LOG(0);
Kết quả:
+--------+ | LOG(0) | +--------+ | NULL | +--------+
Ví dụ 4 - Biểu thức
Bạn cũng có thể chuyển vào các biểu thức như sau:
SELECT LOG(2+3);
Kết quả:
+--------------------+ | LOG(2+3) | +--------------------+ | 1.6094379124341003 | +--------------------+
Ví dụ 5 - Hai đối số
Dưới đây là một ví dụ để chứng minh cách hoạt động của hàm này bằng cách sử dụng hai đối số.
SELECT LOG(10, 100);
Kết quả:
+--------------+ | LOG(10, 100) | +--------------+ | 2 | +--------------+
Và sử dụng một ví dụ khác:
SELECT LOG(100, 10);
Kết quả:
+--------------+ | LOG(100, 10) | +--------------+ | 0.5 | +--------------+
Ví dụ 6 - Kết quả NULL
Như đã đề cập, nếu đối số đầu tiên là 1 hoặc nhỏ hơn, giá trị NULL được trả về.
SELECT LOG(1, 10);
Kết quả:
+------------+ | LOG(1, 10) | +------------+ | NULL | +------------+
Và giá trị NULL cũng được trả về nếu đối số thứ hai bằng 0 hoặc nhỏ hơn:
SELECT LOG(10, 0);
Kết quả:
+------------+ | LOG(10, 0) | +------------+ | NULL | +------------+
MySQL cũng có LN()
hàm đồng nghĩa với LOG()
hàm (nhưng chỉ sử dụng cú pháp một đối số).
MySQL cũng có EXP()
hàm nghịch đảo của LOG()
khi sử dụng cú pháp một đối số.