Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

LOG () Ví dụ trong SQL Server

Trong SQL Server, T-SQL LOG() function là một hàm toán học trả về logarit tự nhiên của biểu thức float đã chỉ định.

Bạn chỉ định biểu thức float làm đối số. Bạn cũng có thể cung cấp đối số thứ hai (tùy chọn) để đặt cơ số cho lôgarit.

Cú pháp

Cú pháp như sau:

LOG ( float_expression [, base ] )  

Trong đó float_expression là một biểu thức của kiểu float hoặc kiểu có thể được chuyển đổi hoàn toàn thành float và base là một đối số số nguyên tùy chọn đặt cơ số cho lôgarit.

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(10) Result;

Kết quả:

+------------------+
| Result           |
|------------------|
| 2.30258509299405 |
+------------------+

Và đây là một ví dụ khác sử dụng một giá trị khác.

SELECT LOG(0.5) Result;

Kết quả:

+--------------------+
| Result             |
|--------------------|
| -0.693147180559945 |
+--------------------+

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(-10) Result;

Kết quả:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Ví dụ này trả về lỗi vì chỉ có thể trả về lôgarit cho các số dương không phải là 1.

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) Result;

Kết quả:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Ví dụ 4 - Vượt qua trong 1

Nếu bạn chuyển giá trị là 1, bạn sẽ nhận được bằng không.

SELECT LOG(1) Result;

Kết quả:

+----------+
| Result   |
|----------|
| 0        |
+----------+

Ví dụ 5 - Biểu thức

Bạn có thể chuyển vào các biểu thức như sau:

SELECT LOG(2+3) Result;

Kết quả:

+-----------------+
| Result          |
|-----------------|
| 1.6094379124341 |
+-----------------+

Điều đó cũng giống như làm điều này một cách hiệu quả:

SELECT LOG(5) Result;

Kết quả:

+-----------------+
| Result          |
|-----------------|
| 1.6094379124341 |
+-----------------+

Ví dụ 6 - 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) Result;

Kết quả:

+----------+
| Result   |
|----------|
| 0.5      |
+----------+

Và sử dụng một ví dụ khác:

SELECT LOG(100, 10) Result;

Kết quả:

+----------+
| Result   |
|----------|
| 2        |
+----------+

Nếu bạn đã quen với phiên bản MySQL của LOG() , bạn sẽ nhận thấy rằng cú pháp hai đối số sử dụng thứ tự ngược lại với phiên bản T-SQL (tức là cơ sở có trước).

Ví dụ 7 - Sử dụng Cơ số 1

Nếu bạn sử dụng 1 là cơ sở, bạn sẽ gặp lỗi.

SELECT LOG(10, 1) Result;

Kết quả:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Tương tự nếu đối số đầu tiên bằng 0 hoặc nhỏ hơn:

SELECT LOG(0, 10) Result;

Kết quả:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

T-SQL cũng có EXP() hàm nghịch đảo của LOG() chức năng.

Bạn cũng có thể sử dụng LOG10() hàm, trả về logarit cơ số 10 của biểu thức float đã chỉ định. Sử dụng hàm này giống như chuyển vào 10 làm đối số thứ hai cho LOG() chức năng.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Tính khả dụng cao:Cài đặt phiên bản cụm chuyển đổi dự phòng SQL Server Phần 2

  2. Lời khuyên về hiệu suất SQL Server từ Brent Ozar và Pinal Dave

  3. Làm cách nào để tạo một ràng buộc duy nhất cũng cho phép null?

  4. Nhận danh sách các ngày giữa hai ngày bằng cách sử dụng một hàm

  5. Một thay đổi quan trọng đối với Sự kiện mở rộng trong SQL Server 2012