灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3734回复:0

[SQL Server]MSSQL取整函数的使用

楼主#
更多 发布于:2012-09-23 13:24



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.atcpu.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
 www.atcpu.com
---两个整数相除 四舍五入到整数
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

喜欢0 评分0
游客

返回顶部