为了账号安全,请及时绑定邮箱和手机立即绑定

SQL Server 五舍六入,六舍七入

SQL Server 五舍六入,六舍七入

慕哥6287543 2018-09-05 17:17:31
SQL 怎么搞五舍六入,六舍七入,求大神指点
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

可以自定义一个round拓展函数来实现这样的功能,下面的代码可供参考,具体可以在此基础上进行调整:

12345678910111213141516171819create function f_RoundEx(@Value float--需要几舍几入的值@Digit int,   --保留小数位数@point int    --确定是几舍)returns floatas  begin  declare @Factor float, @result float,@fPoint float  set @Factor=power(10,@Digit)  set @fPoint = (10-@point-1) * 0.1  if @Value < 0    set @result= floor(@Value*@Factor - @fPoint)/ @Factor  else    set @result = floor(@Value * @Factor + @fPoint)/ @Factor  return @resultendgo
1234567--测试实例 select dbo.f_RoundEx(1.244, 2,5)    , dbo.f_RoundEx(1.245, 2,5)    , dbo.f_RoundEx(1.247, 2,5)select dbo.f_RoundEx(1.245, 2,6)    , dbo.f_RoundEx(1.246, 2,6)    , dbo.f_RoundEx(1.247, 2,6)
12345--测试结果---------------------- ---------------------- ----------------------1.24                   1.24                   1.25                             ---------------------- ---------------------- ----------------------1.24                   1.24                   1.25


查看完整回答
反对 回复 2018-09-25
  • 1 回答
  • 0 关注
  • 1152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信