ceil

description

Syntax

BIGINT ceil(DOUBLE x)

如果不指定d: 返回大于或等于x的最大整数值, 这也是最常见的用法. 否则, 按照下面规则返回最小的大于或者等于x的舍入数字:

d 是字面量(不是列):
d = 0: 等同于没有 d d > 0 or d < 0: 舍入数是 1/(10^d) 的倍数,如果 1/(10^d) 不精确,则为相应数据类型的最接近的数字。

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

CEIL - 图1提示

该函数的其他别名为 dceilceiling

example

  1. mysql> select ceil(1);
  2. +-----------+
  3. | ceil(1.0) |
  4. +-----------+
  5. | 1 |
  6. +-----------+
  7. mysql> select ceil(2.4);
  8. +-----------+
  9. | ceil(2.4) |
  10. +-----------+
  11. | 3 |
  12. +-----------+
  13. mysql> select ceil(-10.3);
  14. +-------------+
  15. | ceil(-10.3) |
  16. +-------------+
  17. | -10 |
  18. +-------------+
  19. mysql> select ceil(123.45, 1), ceil(123.45), ceil(123.45, 0), ceil(123.45, -1);
  20. +-----------------+--------------+-----------------+------------------+
  21. | ceil(123.45, 1) | ceil(123.45) | ceil(123.45, 0) | ceil(123.45, -1) |
  22. +-----------------+--------------+-----------------+------------------+
  23. | 123.5 | 124 | 124 | 130 |
  24. +-----------------+--------------+-----------------+------------------+
  25. mysql> SELECT number
  26. -> , ceil(number * 2.5, number - 1) AS c_decimal_column
  27. -> , ceil(number * 2.5, 0) AS c_decimal_literal
  28. -> , ceil(cast(number * 2.5 AS DOUBLE), number - 1) AS c_double_column
  29. -> , ceil(cast(number * 2.5 AS DOUBLE), 0) AS c_double_literal
  30. -> FROM test_enhanced_round
  31. -> WHERE rid = 1;
  32. +--------+------------------+-------------------+-----------------+------------------+
  33. | number | c_decimal_column | c_decimal_literal | c_double_column | c_double_literal |
  34. +--------+------------------+-------------------+-----------------+------------------+
  35. | 1 | 3.0 | 3 | 3 | 3 |
  36. +--------+------------------+-------------------+-----------------+------------------+

keywords

  1. CEIL, DCEIL, CEILING