Skip to content

FLOOR()

Function Description

The FLOOR() function returns a number that is not greater than the corresponding digit of a certain number.

Function Syntax

> FLOOR(number, decimals)
> FLOOR(number)

Parameter definition

Parameters Description
number Required parameters, any currently supported numerical data
decimals Optional parameter, representing the number of digits after the decimal point. The default value is 0, which means rounding to an integer, and when it is a negative number, rounding to the digits before the decimal point.

Example

drop table if exists t1;
create table t1(a int ,b float);
insert into t1 values(1,0.5);
insert into t1 values(2,0.499);
insert into t1 values(3,0.501);
insert into t1 values(4,20.5);
insert into t1 values(5,20.499);
insert into t1 values(6,13.500);
insert into t1 values(7,-0.500);
insert into t1 values(8,-0.499);
insert into t1 values(9,-0.501);
insert into t1 values(10,-20.499);
insert into t1 values(11,-20.500);
insert into t1 values(12,-13.500);

mysql> select a,floor(b) from t1;
+------+--------------+
| a | floor(b) |
+------+--------------+
| 1 | 0 |
| 2 | 0 |
| 3 | 0 |
| 4 | 20 |
| 5 | 20 |
| 6 | 13 |
| 7 | -1 |
| 8 | -1 |
| 9 | -1 |
| 10 | -21 |
| 11 | -21 |
| 12 | -14 |
+------+--------------+
12 rows in set (0.01 sec)

mysql> select sum(floor(b)) from t1;
+--------------------+
| sum(floor(b)) |
+--------------------+
| -6 |
+--------------------+
1 row in set (0.00 sec)

mysql> select a,sum(floor(b)) from t1 group by a order by a;
+------------------------------+
| a | sum(floor(b)) |
+------------------------------+
| 1 | 0 |
| 2 | 0 |
| 3 | 0 |
| 4 | 20 |
| 5 | 20 |
| 6 | 13 |
| 7 | -1 |
| 8 | -1 |
| 9 | -1 |
| 10 | -21 |
| 11 | -21 |
| 12 | -14 |
+------------------------------+
12 rows in set (0.00 sec)