SQL ABS函数是一个SQL 算术函数,用于求绝对值。SQL ABS函数的作用是获取作为参数传递的数字的绝对值。
SQL ABS 函数语法
ABS(expression)
- expression: 一种数值或数值数据类型的表达式。不能是位数据类型。
举例:
SELECT ABS(-17.36) FROM dual;
输出结果:
17.36
SQL ABS 函数与DISTINCT示例
我们使用agents这个表来演示SQL ABS 函数与DISTINCT示例。
+------------+----------------------+--------------------+------------+-----------------+---------+
| AGENT_CODE | AGENT_NAME | WORKING_AREA | COMMISSION | PHONE_NO | COUNTRY |
+------------+----------------------+--------------------+------------+-----------------+---------+
| A007 | Ramasundar | Bangalore | 0.15 | 077-25814763 | |
| A003 | Alex | London | 0.13 | 075-12458969 | |
| A008 | Alford | New York | 0.12 | 044-25874365 | |
| A011 | Ravi Kumar | Bangalore | 0.15 | 077-45625874 | |
| A010 | Santakumar | Chennai | 0.14 | 007-22388644 | |
| A012 | Lucida | San Jose | 0.12 | 044-52981425 | |
| A005 | Anderson | Brisban | 0.13 | 045-21447739 | |
| A001 | Subbarao | Bangalore | 0.14 | 077-12346674 | |
| A002 | Mukesh | Mumbai | 0.11 | 029-12358964 | |
| A006 | McDen | London | 0.15 | 078-22255588 | |
| A004 | Ivan | Torento | 0.15 | 008-22544166 | |
| A009 | Benjamin | Hampshair | 0.11 | 008-22536178 | |
+------------+----------------------+--------------------+------------+-----------------+---------+
若要从agents
表中乘以DISTINCT(ABS()(-1)
后得到commission
列的唯一绝对值,可以使用以下SQL语句:
SELECT DISTINCT(ABS(commission*(-1))) "DISTINCT(ABS())"
FROM agents;
输出结构为
DISTINCT(ABS())
---------------
.15
.11
.14
.13
.12
注意:这里显示的SQL语句的输出是使用Oracle数据库10g Express Edition实现的。
关于SQL的其他函数使用方法,请参考极客教程提供的SQL 函数。