Summary: in this tutorial, you will learn how to use the SQL Server CEILING
function to round up a number to the nearest integer greater than or equal to the input number.
SQL Server CEILING function syntax
The CEILING()
function allows you to round up a number to the nearest integer that is greater than or equal to an input number.
Here’s the syntax of the CEILING()
function:
CEILING (number)
Code language: SQL (Structured Query Language) (sql)
In this syntax, the number is a literal number or a numeric expression that you want to round.
The function returns a number whose type depends on the type of the input number. The following table illustrates the return type of the function based on the input type:
Input type | Return type |
---|---|
float, real | float |
decimal(p, s) | decimal(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit | float |
If the number is NULL
, the function returns NULL
.
SQL Server CEILING() function examples
Let’s take some examples of using the CEILING()
function.
1) Using SQL Server CEILING() function with positive numbers
The following example uses the CEILING()
function to round up positive numbers:
SELECT
CEILING(11.51) x,
CEILING(11.25) y;
Code language: SQL (Structured Query Language) (sql)
Output:
x | y
---+----
12 | 12
Code language: SQL (Structured Query Language) (sql)
2) Using the CEILING function with negative numbers
The following statement uses the CEILING()
function to round up negative numbers:
SELECT
CEILING(-11.51) x,
CEILING(-11.25) y;
Code language: SQL (Structured Query Language) (sql)
Output:
x | y
----+-----
-11 | -11
(1 row)
Code language: SQL (Structured Query Language) (sql)
3) Using the CEILING function with money values
The following example uses the CEILING()
function to round up the values of the money type:
SELECT
CEILING($99.5) amount,
CEILING($9.91) tax;
Code language: SQL (Structured Query Language) (sql)
Output:
amount | tax
---------+----------
100.0000 | 10.0000
(1 row)
Code language: SQL (Structured Query Language) (sql)
4) Using the CEILING function with table data
We’ll use the production.products
table from the sample database for the demonstration.
The following statement uses the CEILING()
function to round up the average price by category id:
SELECT
category_id,
CEILING(AVG(list_price)) average_price
FROM
production.products
GROUP BY
category_id;
Code language: SQL (Structured Query Language) (sql)
Output:
category_id | average_price
------------+---------------
1 | 288
2 | 683
3 | 731
4 | 2543
5 | 3282
6 | 1650
7 | 3176
(7 rows)
Code language: SQL (Structured Query Language) (sql)
Summary
- Use the
CEILING()
function to round up a number to the nearest integer greater than or equal to the input number.