MySQL Tutorial/Math Numeric Functions/FLOOR — различия между версиями

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

Текущая версия на 09:49, 26 мая 2010

Flooring 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.02 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> select value, FLOOR(value) from myTable;
+---------+--------------+
| value   | FLOOR(value) |
+---------+--------------+
|    9.00 |            9 |
|    2.11 |            2 |
|    3.44 |            3 |
|   -4.21 |           -5 |
|   10.00 |           10 |
|    3.00 |            3 |
|   -5.88 |           -6 |
|  123.45 |          123 |
|   98.23 |           98 |
|  938.23 |          938 |
| -984.23 |         -985 |
|  198.23 |          198 |
| -928.87 |         -929 |
|   25.37 |           25 |
| -918.30 |         -919 |
|    9.23 |            9 |
|   -8.23 |           -9 |
+---------+--------------+
17 rows in set (0.00 sec)
mysql>
mysql>
mysql> drop table myTable;
Query OK, 0 rows affected (0.00 sec)
mysql>


FLOOR(X) returns the largest integer value not greater than X.

mysql>
mysql> SELECT FLOOR(1.23);
+-------------+
| FLOOR(1.23) |
+-------------+
|           1 |
+-------------+
1 row in set (0.00 sec)
mysql> SELECT FLOOR(-1.23);
+--------------+
| FLOOR(-1.23) |
+--------------+
|           -2 |
+--------------+
1 row in set (0.02 sec)
mysql>