| title | FLOOR (Transact-SQL) | |||
|---|---|---|---|---|
| description | FLOOR returns the largest integer less 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 | |||
| 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]
Returns the largest integer less than or equal to the specified numeric expression.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
FLOOR ( 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.
The following example shows positive numeric, negative numeric, and currency values with the FLOOR function.
SELECT FLOOR(123.45),
FLOOR(-123.45),
FLOOR($123.45);The result is the integer part of the calculated value in the same data type as numeric_expression.
---- ----- -------
123 -124 123.00