SQL LOG函数
LOG函数是SQL中的字符串函数,用于返回给定数字的对数值。或者我们可以说,它显示给定底数的数字的对数值。
LOG函数的语法
SELECT LOG(Number1, Number2) AS Alias_Name;
在LOG语法中,Number1必须大于0且是我们要找到其对数的数字。Number2是底数。
在结构化查询语言中,我们还可以使用LOG函数与表的列一起使用,如下所示:
SELECT LOG(Column_Name1, Column_Name2) AS Alias_Name FROM Table_Name;
在这个语法中,我们需要定义我们想在其上执行LOG函数的表的名称和列。
LOG函数的例子
例子1: 这个例子获取2的对数:
SELECT LOG(2) AS Logarithm_of_2;
输出:
Logarithm_of_2
---
0.69314718055994529
示例 2: 此示例在输出中返回以2为底的2的对数:
SELECT LOG(2, 2) AS Logarithm_of_2bybase_2;
输出:
Logarithm_of_2bybase_2
---
1
示例 3: 该示例返回输出中以6为底的8的对数:
SELECT LOG(8, 6) AS Logarithm_of_8bybase_6;
输出:
Logarithm_of_8bybase_6
---
1.1606
示例4: 这个示例返回255在以4为底的对数值:
SELECT LOG(255, 4) AS Logarithm_of_255bybase_4;
输出:
Logarithm_of_255bybase_4
---
3.997
示例 5: 此示例使用SQL表中的LOG函数。 在此示例中,我们将通过新表执行LOG函数来创建新表的列:
以下显示了在SQL中创建新表的语法:
CREATE TABLE Name_of_New_Table
(
First_Column_of_table Data Type (character_size of First Column),
Second_Column_of_table Data Type (character_size of the Second column ),
Third_Column_of_table Data Type (character_size of the Third column),
.......,
Last_Column_of_table Data Type (character_size of the Last column)
);
以下CREATE语句创建用于存储产品价格和数量的 Product_Details 表:
CREATE TABLE Product_Details
(
Product_ID INT NOT NULL,
Product_Name Varchar(50),
Product_Quantity INT,
Purchasing_Price INT,
Selling_Price INT,
Release_Date Date,
Product_Rating INT
);
以下多个INSERT查询将产品的记录以及其销售和购买价格插入到Product_Details表中:
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (104, P1, 10, 945, NULL, 2022-04-30, NULL);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (202, P4, 15, 45, 75, 2022-01-28, 5);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (103, P2, 18, 25, NULL, 2022-02-18, 4);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (111, P7, 25, 5, 15, 2021-12-25, 9);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (210, P6, 15, 50, 70, 2021-10-15, NULL);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (212, P8, 19, 110, 250, 2022-01-28, 4);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (112, P10, 10, 550, 835, 2022-04-11, NULL);
下面的SELECT语句显示了上述 Product_Details 表中插入的记录:
SELECT * FROM Product_Details;
Product_ID | Product_Name | Product_Quantity | Purchasing_Price | Selling_Price | Release_Date | Product_Rating |
---|---|---|---|---|---|---|
104 | P1 | 10 | 945 | NULL | 2022-04-30 | NULL |
202 | P4 | 15 | 45 | 75 | 2022-01-28 | 5 |
103 | P2 | 18 | 25 | NULL | 2022-02-18 | 4 |
111 | P7 | 25 | 5 | 15 | 2021-12-25 | 9 |
210 | P6 | 15 | 50 | 70 | 2021-10-15 | NULL |
212 | P8 | 19 | 110 | 250 | 2022-01-28 | 4 |
112 | P10 | 10 | 550 | 835 | 2022-04-11 | NULL |
查询1: 以下SELECT查询使用了上述Product_Details表中的Product_ID列的LOG函数:
SELECT Product_ID, LOG(Product_ID, 4) AS Logarithm_of_ProductID_bybase_4 FROM Product_Details;
这个查询通过以4为底,给出每个product_id的对数。
输出:
Product_ID | Logarithm_of_ProductID_bybase_4 |
---|---|
104 | 3.35 |
202 | 3.829 |
103 | 3.343 |
111 | 3.397 |
210 | 3.857 |
212 | 3.864 |
112 | 3.404 |
查询2: 下面的SELECT查询使用了上述Product_Details表中的Purchasing_Price列的LOG函数:
SELECT Purchasing_Price, LOG(Purchasing_Price, 10) AS Logarithm_of_ProductID_bybase_10 FROM Product_Details;
该查询以10为底,给出每个购买价格的对数。
输出:
Purchasing_Price | Logarithm_of_Purchasing_Price_bybase_10 |
---|---|
945 | 2.9754 |
45 | 1.6532 |
25 | 1.398 |
5 | 0.699 |
50 | 1.699 |
110 | 2.0414 |
550 | 2.7404 |
查询 3: 以下 SELECT 查询使用了上述 Product_Details 表的 Product_Rating 列的 LOG 函数:
SELECT LOG(Product_Rating, 6) AS Logarithm_ofratingbybase_6 FROM Product_Details;
这个查询将每个产品的评分以6为底求对数。
输出:
Product_Rating | Logarithm_ofratingbybase_6 |
---|---|
NULL | - |
5 | 0.8982 |
4 | 0.7737 |
9 | 1.2263 |
NULL | - |
4 | 0.7737 |
NULL | - |
查询4: 以下SELECT查询使用上述Product_Details表的Selling_Price列的LOG函数:
SELECT Selling_Price, LOG(Selling_Price, 4) AS Logarithm_of_ProductID_bybase_4 FROM Product_Details;
这个查询通过底为4计算每个Selling_Price的对数。
输出:
Selling_Price | Logarithm_of_ProductID_bybase_4 |
---|---|
NULL | - |
75 | 3.1144 |
NULL | - |
15 | 1.9534 |
70 | 3.0646 |
250 | 3.983 |
835 | 4.853 |