Функция SQL Server CEILING()

В этом руководстве вы узнаете, как использовать функцию SQL Server CEILING для округления числа до ближайшего целого числа, большего или равного входному числу.

Синтаксис функции SQL Server CEILING

Функция CEILING() позволяет округлить число до ближайшего целого числа, которое больше или равно введенному числу.

Вот синтаксис функции CEILING():

CEILING(number)

В этом синтаксисе число представляет собой буквальное число или числовое выражение, которое требуется округлить.

Функция возвращает число, тип которого зависит от типа входного числа. Следующая таблица иллюстрирует тип возвращаемого значения функции на основе типа входного числа:

Тип ввода Тип возврата
плавающий, реальный плавать
десятичная дробь(п, с) десятичная(38, с)
int, smallint, tinyint инт
bigint bigint
деньги, маленькиеденьги деньги
кусочек плавать

Если число равно NULL, функция возвращает NULL.

Примеры функции SQL Server CEILING()

Давайте рассмотрим несколько примеров использования функции CEILING().

1) Использование функции SQL Server CEILING() с положительными числами

В следующем примере функция CEILING() используется для округления положительных чисел:

SELECT
  CEILING(11.51) x,
  CEILING(11.25) y;

Выход:

x  | y
---+----
12 | 12

2) Использование функции CEILING с отрицательными числами

В следующем операторе функция CEILING() используется для округления отрицательных чисел:

SELECT
  CEILING(-11.51) x,
  CEILING(-11.25) y;

Выход:

x   | y
----+-----
-11 | -11
(1 row)

3) Использование функции CEILING с денежными значениями

В следующем примере функция CEILING() используется для округления значений денежного типа:

SELECT
  CEILING($99.5) amount,
  CEILING($9.91) tax;

Выход:

amount   | tax
---------+----------
100.0000 | 10.0000
(1 row)

4) Использование функции CEILING с табличными данными

Для демонстрации мы будем использовать таблицу production.products из образца базы данных.

Функция SQL Server CEILING — пример таблицы

В следующем операторе используется функция CEILING() для округления средней цены по идентификатору категории:

SELECT
  category_id,
  CEILING(AVG(list_price)) average_price
FROM
  production.products
GROUP BY
  category_id;

Выход:

category_id | average_price
------------+---------------
1           | 288
2           | 683
3           | 731
4           | 2543
5           | 3282
6           | 1650
7           | 3176
(7 rows)

Краткое содержание

  • Используйте функцию CEILING(), чтобы округлить число до ближайшего целого числа, большего или равного введенному числу.
Мирослав С.

Автор статей, ИБ-специалист