小编典典

Sql Round,当位于.5时,四舍五入为更大的数字,即1.235结果1.24

sql

做发票时,我想将1.235舍入为1.23

Select Round(TestData,2) From TestTableRound

考虑到中间值,为什么我得到结果1.24?我希望将其舍入为1.23。

这可能导致开票时出现差异,有时发票与帐单不符。

很好奇,任何帮助都很好,谢谢


阅读 152

收藏
2021-04-15

共1个答案

小编典典

也许您可以在四舍五入之前减少一磅的量

Select Round(TestData-.001,2) From TestTableRound

另一个技巧(针对您的情况)是乘以100,取整数部分,然后除以100

Select 
 CASE WHEN FLOOR(TestData * 1000)-FLOOR(TestData * 100)*10 <= 5 THEN
          FLOOR(TestData * 100)/100
      ELSE ROUND(TestData , 2)
 END 
 From TestTableRound
2021-04-15