MySQL Tutorial/Math Numeric Functions/ABS

Материал из SQL эксперт
Перейти к: навигация, поиск

ABS(X) returns the absolute value of X.

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>


Get the absolute value for a column

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>