SQL Server中的数据取整是指获得未经运算或处理的原始数据。取整需要满足结果是最接近参数的整数,可以通过以下几种方式实现:
## 一、使用FLOOR()函数
SQL server中提供了FLOOR()函数,它能够对小数取整,并返回一个最接近参数的最小整数,并且最大不大于参数。例如,下面的代码可用于获得数字 4.5 的最接近整数:
-- Declare a DECIMAL datatype
DECLARE @MyDecimal DECIMAL(5,2);
--Set the value SET @MyDecimal = 4.5;
--Use the FLOOR() Function to return the closest lowest integer
SELECT FLOOR(@MyDecimal);
运行上述代码,将返回数字 4。
## 二、使用CEILING()函数
与FLOOR()函数类似,CEILING()函数也可用于取整,但它能够返回一个最接近参数的最大整数,并且最小不小于参数,例如,下面的代码可用于获得数字 4.5 的最接近整数:
-- Declare a DECIMAL datatype
DECLARE @MyDecimal DECIMAL(5,2);
--Set the value SET @MyDecimal = 4.5;
--Use the CEILING() Function to return the closest highest integer
SELECT CEILING(@MyDecimal);
运行上述代码,将返回数字 5。
## 三、使用ROUND()函数
ROUND()函数可用于对一个数字进行取整或四舍五入,下面的代码示例可以四舍五入获得最接近4.5的数字:
-- Declare a DECIMAL datatype
DECLARE @MyDecimal DECIMAL(5,2);
--Set the value SET @MyDecimal = 4.5;
--Use the ROUND() Function to return the closest integer
SELECT ROUND(@MyDecimal,0);
以上代码将返回值 5 。另外,该函数还有一个可选的第二参数,用于指定取整方式,例如,发现数字 4.45 时,可以指定精度为小数点后一名,以四舍五入情势取整:
-- Declare a DECIMAL datatype
DECLARE @MyDecimal DECIMAL(5,2);
--Set the value SET @MyDecimal = 4.45;
--Use the ROUND() Function to return the closest integer
SELECT ROUND(@MyDecimal,1);
以上代码将返回值 4.5。
综上所述,可使用FLOOR、CEILING和ROUND函数实现,SQL Server中的取整功能。
本文来源:https://www.yuntue.com/post/226883.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏