首页 > 数据库 >sql server两整数相除向上取整

sql server两整数相除向上取整

时间:2022-10-11 11:56:47浏览次数:45  
标签:set divisor -- 相除 server 取整 dividend round select

---------【向上取整】---------------------------------------------------------------------------------------------------------
SELECT CEILING('1.06') --2
--两个整数相除会变成向下取整,需要将整数转化为小数再相除
SELECT CEILING(4/3) --1
SELECT CEILING((40.1)/(30.1)) --2

--------【四舍五入取整截取】---------------------------------------------------------------------------------------------------------
--四舍五入 round(a,b) -- 结果a 精确到小数点右 b位,或是左 -b位
select round(1.563,0), round(54.36,-1)--2.00
select round(1.563,2)--1.560
select round(544.563,-2)--500

--------【向下取整截取】---------------------------------------------------------------------------------------------------------
SELECT FLOOR(1.563)--1
--两个整数相除将截断小数部分
select 3/4,4/3,5/3 -- 0,1,1
---四舍五入 并转化为 整数
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

标签:set,divisor,--,相除,server,取整,dividend,round,select
From: https://www.cnblogs.com/mengjie1001/p/16778742.html

相关文章