FLOOR()

函数说明

FLOOR() 函数返回不大于某个数字的相应数位的数。

函数语法

  1. > FLOOR(number, decimals)
  2. > FLOOR(number)

参数释义

参数说明
number必要参数,任何当前支持的数值数据
decimals可选参数,代表小数点后的位数。默认值为 0,代表四舍五入为整数,当为负数时四舍五入到小数点前的数位。

示例

  1. drop table if exists t1;
  2. create table t1(a int ,b float);
  3. insert into t1 values(1,0.5);
  4. insert into t1 values(2,0.499);
  5. insert into t1 values(3,0.501);
  6. insert into t1 values(4,20.5);
  7. insert into t1 values(5,20.499);
  8. insert into t1 values(6,13.500);
  9. insert into t1 values(7,-0.500);
  10. insert into t1 values(8,-0.499);
  11. insert into t1 values(9,-0.501);
  12. insert into t1 values(10,-20.499);
  13. insert into t1 values(11,-20.500);
  14. insert into t1 values(12,-13.500);
  15. mysql> select a,floor(b) from t1;
  16. +------+----------+
  17. | a | floor(b) |
  18. +------+----------+
  19. | 1 | 0 |
  20. | 2 | 0 |
  21. | 3 | 0 |
  22. | 4 | 20 |
  23. | 5 | 20 |
  24. | 6 | 13 |
  25. | 7 | -1 |
  26. | 8 | -1 |
  27. | 9 | -1 |
  28. | 10 | -21 |
  29. | 11 | -21 |
  30. | 12 | -14 |
  31. +------+----------+
  32. 12 rows in set (0.01 sec)
  33. mysql> select sum(floor(b)) from t1;
  34. +---------------+
  35. | sum(floor(b)) |
  36. +---------------+
  37. | -6 |
  38. +---------------+
  39. 1 row in set (0.00 sec)
  40. mysql> select a,sum(floor(b)) from t1 group by a order by a;
  41. +------+---------------+
  42. | a | sum(floor(b)) |
  43. +------+---------------+
  44. | 1 | 0 |
  45. | 2 | 0 |
  46. | 3 | 0 |
  47. | 4 | 20 |
  48. | 5 | 20 |
  49. | 6 | 13 |
  50. | 7 | -1 |
  51. | 8 | -1 |
  52. | 9 | -1 |
  53. | 10 | -21 |
  54. | 11 | -21 |
  55. | 12 | -14 |
  56. +------+---------------+
  57. 12 rows in set (0.00 sec)