MySQL - ABS() 函数
MySQL 提供了一组函数,用于对数值数据执行各种数学运算。
MySQL ABS() 函数用于求一个数的绝对值。绝对值通常定义为数轴上某一点与零点的距离,与方向无关。由于绝对值不考虑方向,因此它永远不会为负值。
此函数接受一个整数值作为参数,并返回给定整数的绝对值。返回的绝对值将显示为结果集。
语法
以下是 MySQL ABS() 函数的语法 -
ABS(x)
参数
此函数接受一个数值作为参数。
返回值
此函数返回给定数值的绝对值(非负值)。
示例
以下是 MySQL ABS() 函数的示例 -
SELECT ABS(225) As Result;
输出
这将产生以下结果 -
Result |
---|
225 |
示例
如果您向此函数传递一个负整数,则结果值将是相同的整数,但不带负号。
SELECT ABS(-55787) As Result;
输出
上述查询将产生以下结果 -
Result |
---|
55787 |
示例
如果传递的值为 NULL 或发生错误,此函数将返回 NULL。
SELECT ABS(NULL) As Result;
输出
这将产生以下结果 -
Result |
---|
NULL |
示例
您也可以以字符串的形式将值传递给此函数,如下所示 -
SELECT ABS('-225') As Result;
输出
上述查询将产生以下结果 -
Result |
---|
225 |
示例
如果传递的值不为空且不是整数值,则此函数返回 0 -
SELECT ABS('test') As Result;
输出
这将产生以下结果 -
Result |
---|
0 |
示例
在下面的查询中,我们使用 CREATE 语句创建一个名为 CUSTOMERS 的 MySQL 表,如下所示 -
CREATE TABLE CUSTOMERS ( ID INT AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );
以下查询将 7 条记录插入到上面创建的表中 -
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ), (2, 'Khilan', 25, 'Delhi', 1500.00 ), (3, 'Kaushik', 23, 'Kota', 2000.00 ), (4, 'Chaitali', 25, 'Mumbai', 6500.00 ), (5, 'Hardik', 27, 'Bhopal', 8500.00 ), (6, 'Komal', 22, 'Hyderabad', 4500.00 ), (7, 'Muffy', 24, 'Indore', 10000.00 );
执行以下 SELECT 语句检索 CUSTOMERS 表中存在的所有记录 -
Select * From CUSTOMERS;
以下是 CUSTOMERS 表 -
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000.00 |
2 | Khilan | 25 | Delhi | 1500.00 |
3 | Kaushik | 23 | Kota | 2000.00 |
4 | Chaitali | 25 | Mumbai | 6500.00 |
5 | Hardik | 27 | Bhopal | 8500.00 |
6 | Komal | 22 | Hyderabad | 4500.00 |
7 | Muffy | 24 | Indore | 10000.00 |
这里,我们在 CUSTOMERS 表上使用 MySQL ABS() 函数来查找 SALARY 列的绝对值 -
SELECT NAME, ABS(SALARY) AS ABSOLUTE_SALARY FROM CUSTOMERS;
输出
以下是 CUSTOMERS 表中 SALARY 列的绝对值 -
NAME | ABSOLUTE_SALARY |
---|---|
Ramesh | 2000.00 |
Khilan | 1500.00 |
Kaushik | 2000.00 |
Chaitali | 6500.00 |
Hardik | 8500.00 |
Komal | 4500.00 |
Muffy | 10000.00 |