| title | CEILING (Transact-SQL) | |||
|---|---|---|---|---|
| description | CEILING returns the smallest integer greater than or equal to the specified numeric expression. | |||
| author | markingmyname | |||
| ms.author | maghan | |||
| ms.reviewer | randolphwest | |||
| ms.date | 11/21/2025 | |||
| ms.service | sql | |||
| ms.subservice | t-sql | |||
| ms.topic | reference | |||
| ms.custom |
|
|||
| f1_keywords |
|
|||
| helpviewer_keywords |
|
|||
| dev_langs |
|
|||
| monikerRange | >=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric || =fabric-sqldb |
[!INCLUDE sql-asdb-asdbmi-asa-pdw-fabricse-fabricdw-fabricsqldb]
This function returns the smallest integer greater than, or equal to, the specified numeric expression.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
CEILING ( numeric_expression )
An expression of the exact numeric or approximate numeric data type category.
The return type depends on the input type of numeric_expression:
| Input type | Return type |
|---|---|
| float, real | float |
| decimal(p, s) | decimal(p, 0) |
| int, smallint, tinyint | int |
| bigint | bigint |
| money, smallmoney | money |
| bit | float |
If the result doesn't fit in the return type, an arithmetic overflow error occurs.
For more information, see Precision, scale, and length.
This example shows positive numeric, negative numeric, and zero value inputs for the CEILING function.
SELECT CEILING($123.45),
CEILING($-123.45),
CEILING($0.0);The result is the integer part of the calculated value in the same data type as numeric_expression.
------- -------- -----
124.00 -123.00 0.00