MySQL Tutorial/Math Numeric Functions/ABS
ABS(X) returns the absolute value of X.
<source lang="sql">
mysql> mysql> SELECT ABS(2); +--------+ | ABS(2) | +--------+ | 2 | +--------+ 1 row in set (0.00 sec) mysql> SELECT ABS(-32); +----------+ | ABS(-32) | +----------+ | 32 | +----------+ 1 row in set (0.00 sec) mysql></source>
Get the absolute value for a column
<source lang="sql">
mysql> mysql> create table myTable(
-> id int(2), -> value FLOAT(6,2) -> );
Query OK, 0 rows affected (0.03 sec) mysql> mysql> insert into myTable(ID, value)values (1,9); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (2,2.11); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (3,3.44); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (4,-4.21); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (5,10); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (6,3); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (7,-5.88); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (8,123.45); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (9,98.23); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (10,938.23); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (11,-984.23); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (12,198.23); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (13,-928.87); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (14,25.37); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (15,-918.3); Query OK, 1 row affected (0.02 sec) mysql> insert into myTable(ID, value)values (16,9.23); Query OK, 1 row affected (0.00 sec) mysql> insert into myTable(ID, value)values (17,-8.23); Query OK, 1 row affected (0.00 sec) mysql> mysql> select * from myTable; +------+---------+ | id | value | +------+---------+ | 1 | 9.00 | | 2 | 2.11 | | 3 | 3.44 | | 4 | -4.21 | | 5 | 10.00 | | 6 | 3.00 | | 7 | -5.88 | | 8 | 123.45 | | 9 | 98.23 | | 10 | 938.23 | | 11 | -984.23 | | 12 | 198.23 | | 13 | -928.87 | | 14 | 25.37 | | 15 | -918.30 | | 16 | 9.23 | | 17 | -8.23 | +------+---------+ 17 rows in set (0.00 sec) mysql> mysql> mysql> mysql> select value, abs(value) from myTable; +---------+------------+ | value | abs(value) | +---------+------------+ | 9.00 | 9.00 | | 2.11 | 2.11 | | 3.44 | 3.44 | | -4.21 | 4.21 | | 10.00 | 10.00 | | 3.00 | 3.00 | | -5.88 | 5.88 | | 123.45 | 123.45 | | 98.23 | 98.23 | | 938.23 | 938.23 | | -984.23 | 984.23 | | 198.23 | 198.23 | | -928.87 | 928.87 | | 25.37 | 25.37 | | -918.30 | 918.30 | | 9.23 | 9.23 | | -8.23 | 8.23 | +---------+------------+ 17 rows in set (0.00 sec) mysql> mysql> mysql> mysql> mysql> drop table myTable; Query OK, 0 rows affected (0.00 sec) mysql> mysql> mysql></source>