sqlserver四舍五入取整(函数及保留整数分享)


sqlserver四舍五入取整(函数及保留整数分享)

select 2.0983 [值],convert(numeric(8,2),round(2.0983,2)) [取小数点后两位]
select 2.0983 [值],cast(2.0983 as decimal(20,2)) [取小数点后两位]
select 2.0983 [值],round(2.0983,0) [四舍五入取整截取]
select 2.0983 [值],floor(2.0983) [向下取整截取]
select 2.0983 [值],ceiling(2.0983) [向上取整截取]

==================================================== 【四舍五入取整截取】
select round(54.56,0)
==================================================== 【向下取整截取】

SELECT FLOOR(54.56)

==================================================== 【向上取整截取】

sqlserver四舍五入取整(函数及保留整数分享)

SELECT CEILING(13.15)


–MSSQL取整函数的使用

–两个整数相除将截断小数部分
select 3/4,4/3,5/3
–结果 0,1,1

–返回大于或等于所给数字表达式的最小整数
SELECT CEILING(123.55), CEILING(123.45),CEILING(-123.45), CEILING(0.0)
–结果 124,124,-123,0
– www.2cto.com
–四舍五入 round(a,b) – 结果a 精确到小数点右 b位,或是左 -b位
select round(54.36,-2), round(54.36,-1),round(54.36,0), round(54.36,1),round(54.36,2)
–结果 100.00,50.00,54.00,54.40,54.36

—四舍五入 并转化为 整数
select cast(round(56.361,0) as int),cast(round(56.561,0) as int)
–结果 56,57

–举例使用

—两个整数相除 舍弃小数部分( 全部都向前进位)
declare @dividend decimal(20,2), @divisor decimal(20,2)

set @dividend=3
set @divisor=4
select CEILING(@dividend/@divisor)
–结果 1

set @dividend=4
set @divisor=3
select CEILING(@dividend/@divisor)
–结果 2

set @dividend=5
set @divisor=3
select CEILING(@dividend/@divisor)
–结果 2

—两个整数相除 四舍五入到整数
set @dividend=3
set @divisor=4
select cast(round(@dividend/@divisor,0) as int)
–结果 1

set @dividend=4
set @divisor=3
select cast(round(@dividend/@divisor,0) as int)
–结果 1

set @dividend=5
set @divisor=3
select cast(round(@dividend/@divisor,0) as int)
–结果 2

==================================================== 【四舍五入取整截取】
select round(54.56,0)
==================================================== 【向下取整截取】

SELECT FLOOR(54.56)

==================================================== 【向上取整截取】

SELECT CEILING(13.15)

sqlserver四舍五入取整(函数及保留整数分享)

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ892482387,本站将立刻清除。
分享到