SQL 向上取整、向下取整、四舍五入取整的实例!round、rounddown、roundup
2015-12-16 22:21
579 查看
sql server
==================================================== 【四舍五入取整截取】 select round(54.56,0) ==================================================== 【向下取整截取】 SELECT FLOOR(54.56) ==================================================== 【向上取整截取】 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)
相关文章推荐
- VS2013下C#开发连接MySQL数据库
- 免oracle客户端的PLSQLDevelope
- Mysql in子查询效率慢的解决方法
- SQL Server 2005连接服务器时服务器名称填什么?
- 一个有趣的SQL Server 层级汇总数据问题
- 【MySQL】binlog缓存的问题和性能
- redis主从配置及主从切换
- 微软亚洲研究院开源图数据库GraphView
- mysql之事务详解
- redis配置文件详解
- 远程连接ejabberd的mnesia数据库
- 数据库范式
- 远程连接ejabberd的mnesia数据库
- 两个遁环调度Mysql存储过程的SP代码
- HTML5 indexedDB数据库
- Redis密码管理
- SQL--基本数据类型
- SQL中Group By的使用
- Redis消息订阅
- Redis的三种启动方式