SQL ABS函数
ABS是结构化查询语言中的数学函数,它返回特定数字的绝对值。
简单来说,该函数找到给定数字在数轴上距离零的距离。
该函数接受单个数字或任何非数字数据,并返回与参数类型相同的数据类型。
ABS字符串函数的语法
语法1: 此语法使用SQL表的列名与ABS函数:
SELECT ABS(Numeric_Column_Name) AS Alias_Name FROM Table_Name;
在这个SELECT语法中,我们需要指定我们想要使用ABS函数的那个数字列的名称。
Syntax2: 我们还可以使用ABS函数与特定数字一起使用,如下所示的语法:
SELECT ABS(Numeric value) AS Alias_Name;
ABS字符串函数示例
示例1: 下面的SELECT查询显示了零的绝对值:
SELECT ABS(0) AS ABS_0;
输出:
ABS_0
---
0
示例2: 下面的SELECT查询显示数字5的绝对值:
SELECT ABS(5) AS ABS_5;
输出结果:
ABS_5
---
5
示例3: 以下的SELECT查询返回原始字符串中 ‘Manufacturing Company’ 字符串的位置:
SELECT ABS (-0.7) AS ABS_-0.7;
输出:
ABS_-0.7
---
.7
示例4:此示例使用结构化查询语言(SQL)中的ABS函数与表格。
在此示例中,我们将通过新建表格来运行ABS函数对数值列进行查询:
以下显示了在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, 94.5, NULL, 2022-04-30, -0.8);
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, 55.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 | 94.5 | NULL | 2022-04-30 | -0.8 |
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 | 55.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列的ABS函数:
SELECT Product_ID, ABS(Product_ID) AS Absolute_Product_ID FROM Product_Details;
这个SQL语句返回每个产品的Product_ID的绝对值。
输出:
Product_ID | Absolute_Product_ID |
---|---|
104 | 104 |
202 | 202 |
103 | 103 |
111 | 111 |
210 | 210 |
212 | 212 |
112 | 112 |
查询2: 以下SELECT查询使用了上述Product_Details表的Product_Quantity列的ABS函数:
SELECT Product_Name, Product_Quantity, ABS(Product_Quantity) AS Absolute_ProductQuantity FROM Product_Details;
这个SQL语句返回每个产品的数量的绝对值。
输出:
Product_Name | Product_Quantity | Absolute_ProductQuantity |
---|---|---|
P1 | 10 | 10 |
P4 | 15 | 15 |
P2 | 18 | 18 |
P7 | 25 | 25 |
P6 | 15 | 15 |
P8 | 19 | 19 |
P10 | 10 | 10 |
查询3: 以下SELECT查询使用了上述Product_Details表中的Product_Rating列的ABS函数:
SELECT Product_Rating, ABS(Product_Rating) AS Absolute_rating FROM Product_Details;
这个SQL语句显示了每个产品的评分的绝对值。
输出:
Product_Rating | Absolute_rating |
---|---|
-0.8 | .8 |
-5 | 5 |
4 | 4 |
9 | 9 |
NULL | - |
4 | 4 |
NULL | - |
查询4: 下面的SELECT查询使用了以上Product_Details表中的Purchasing_Price和Selling_Price列的ABS函数:
SELECT Purchasing_Price, ABS(Purchasing_Price) AS AbsolutePurchasingPrice, Selling_Price, ABS(Selling_Price) AS AbsoluteSellingPrice FROM Product_Details;
输出:
Purchasing_Price | AbsolutePurchasingPrice | Selling_Price | AbsoluteSellingPrice |
---|---|---|---|
94.5 | 94.5 | NULL | - |
45 | 45 | 75 | 75 |
25 | 25 | NULL | - |
5 | 5 | 15 | 15 |
55.50 | 55.5 | 70 | 70 |
110 | 110 | 250 | 250 |
550 | 550 | 835 | 835 |