sql server 中进行除法运算时,如何得到结果是小数形式呢?

我们正常进行除法运算时,sql默认是返回一个四舍五入的数

比如12除以5,17除以3

--算法1:返回结果:2  需要的是2.40
select (12/5) as 结果1
--算法2:返回结果:5  需要的是5.67
select (17/3) as 结果2

返回结果如下:

那么如何拿到2.40 和5.67呢

--算法3:返回结果:2.40
select cast(12*1.0/5 as decimal(18,2)) as 结果3
--算法4:返回结果:5.67
select cast(17*1.0/3 as decimal(18,2)) as 结果4

返回真正结果

我们得到结果是2.40 和5.67,那么如何得到整数部分和小数部分

--获取2.40的整数部分
select FLOOR(2.40) as 整数部分
--获取2.40的小数部分
select  (2.40-FLOOR(2.40)) as 小数部分

--获取5.67的整数部分
select FLOOR(5.67) as 整数部分
--获取5.67的小数部分
select  (5.67-FLOOR(2.40)) as 小数部分

返回结果(两个一起查,上面是单个)

posted @ 2017-09-29 15:39  小小邪  阅读(9595)  评论(0编辑  收藏  举报