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

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

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

Ceiling a column

mysql>
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.01 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.00 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.01 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, ceiling(value) from myTable;
+---------+----------------+
| value   | ceiling(value) |
+---------+----------------+
|    9.00 |              9 |
|    2.11 |              3 |
|    3.44 |              4 |
|   -4.21 |             -4 |
|   10.00 |             10 |
|    3.00 |              3 |
|   -5.88 |             -5 |
|  123.45 |            124 |
|   98.23 |             99 |
|  938.23 |            939 |
| -984.23 |           -984 |
|  198.23 |            199 |
| -928.87 |           -928 |
|   25.37 |             26 |
| -918.30 |           -918 |
|    9.23 |             10 |
|   -8.23 |             -8 |
+---------+----------------+
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>
mysql>


CEILING(X), CEIL(X) returns the smallest integer value not less than X.

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