round

description

Syntax

T round(T x[, d])x四舍五入后保留d位小数,d默认为0。如果d为负数,则小数点左边d位为0。如果x或d为null,返回null。 2.5会舍入到3,如果想要舍入到2的算法,请使用round_bankers函数。

如果 d 为一个列,并且第一个参数为 Decimal 类型,那么结果 Decimal 会跟入参 Decimal 具有相同的小数部分长度。

ROUND - 图1提示

该函数的另一个别名为 dround

example

  1. mysql> select round(2.4);
  2. +------------+
  3. | round(2.4) |
  4. +------------+
  5. | 2 |
  6. +------------+
  7. mysql> select round(2.5);
  8. +------------+
  9. | round(2.5) |
  10. +------------+
  11. | 3 |
  12. +------------+
  13. mysql> select round(-3.4);
  14. +-------------+
  15. | round(-3.4) |
  16. +-------------+
  17. | -3 |
  18. +-------------+
  19. mysql> select round(-3.5);
  20. +-------------+
  21. | round(-3.5) |
  22. +-------------+
  23. | -4 |
  24. +-------------+
  25. mysql> select round(1667.2725, 2);
  26. +---------------------+
  27. | round(1667.2725, 2) |
  28. +---------------------+
  29. | 1667.27 |
  30. +---------------------+
  31. mysql> select round(1667.2725, -2);
  32. +----------------------+
  33. | round(1667.2725, -2) |
  34. +----------------------+
  35. | 1700 |
  36. +----------------------+
  37. mysql> SELECT number
  38. -> , round(number * 2.5, number - 1) AS r_decimal_column
  39. -> , round(number * 2.5, 0) AS r_decimal_literal
  40. -> , round(cast(number * 2.5 AS DOUBLE), number - 1) AS r_double_column
  41. -> , round(cast(number * 2.5 AS DOUBLE), 0) AS r_double_literal
  42. -> FROM test_enhanced_round
  43. -> WHERE rid = 1;
  44. +--------+------------------+-------------------+-----------------+------------------+
  45. | number | r_decimal_column | r_decimal_literal | r_double_column | r_double_literal |
  46. +--------+------------------+-------------------+-----------------+------------------+
  47. | 1 | 3.0 | 3 | 3 | 3 |
  48. +--------+------------------+-------------------+-----------------+------------------+

keywords

  1. ROUND, DROUND