Последнее обновление
CEIL
Описание
Округляет десятичные числа с плавающей и фиксированной точкой вверх до заданного числа разрядов и возвращает округлённое число с плавающей или фиксированной точкой.
Синтаксис
CEIL(<a>[, <d>])
Параметры
| Параметр | Описание |
|---|---|
<a> | Параметр с плавающей точкой (Double) или фиксированной точкой (Decimal), задающий число для округления |
<d> | Необязательный целочисленный параметр, задающий целевое число разрядов для округления. Положительное число означает округление до следующего десятичного разряда, отрицательное число означает округление до следующего десятичного разряда, а 0 означает округление до целого числа. Если параметр не указан, это эквивалентно <d> = 0. |
Возвращаемое значение
Возвращает наименьшее округлённое число, которое больше или равно <a>, в соответствии со следующими правилами.
Округление выполняется до разряда 1/(10^d), то есть результат должен делиться без остатка на 1/(10^d). Если 1/(10^d) нельзя представить точно, для округления используется ближайшее представимое число соответствующего типа данных.
Если входной параметр <a> имеет тип Decimal, а именно Decimal(p, s), возвращаемое значение имеет следующий тип:
Decimal(p, 0), если<d> <= 0Decimal(p, <d>), если0 < <d> <= sDecimal(p, s), если<d> > s
Если любой входной параметр равен NULL, возвращает NULL.
Псевдонимы
- DCEIL
- CEILING
Примеры
select ceil(123.456);
+---------------+
| ceil(123.456) |
+---------------+
| 124 |
+---------------+
select ceil(123.456, 2);
+------------------+
| ceil(123.456, 2) |
+------------------+
| 123.46 |
+------------------+
select ceil(123.456, -2);
+-------------------+
| ceil(123.456, -2) |
+-------------------+
| 200 |
+-------------------+
select ceil(123.45, 1), ceil(123.45), ceil(123.45, 0), ceil(123.45, -1);
+-----------------+--------------+-----------------+------------------+
| ceil(123.45, 1) | ceil(123.45) | ceil(123.45, 0) | ceil(123.45, -1) |
+-----------------+--------------+-----------------+------------------+
| 123.5 | 124 | 124 | 130 |
+-----------------+--------------+-----------------+------------------+
select ceil(x, 2) from ( select cast(123.456 as decimal(6,3)) as x from numbers("number"="5") )t;
+------------+
| ceil(x, 2) |
+------------+
| 123.46 |
| 123.46 |
| 123.46 |
| 123.46 |
| 123.46 |
+------------+
select ceil(NULL);
+------------+
| ceil(NULL) |
+------------+
| NULL |
+------------+