回答

收藏

四舍五入到最接近的20

技术问答 技术问答 104 人阅读 | 0 人回复 | 2023-09-12

正如问题所暗示的,除了0-除了14之间的数字,我需要四舍五入到最接近的20,因为所有的值都不能四舍五入,因为零值不允许使用。此表不需要更新为新值。目前,我只试图放弃或放弃到最接近的100,如下所示:
4 V; ]- r6 y2 [: H1 l    CASE WHEN ROUND(number,-2)=0 THEN CAST(ROUND(number,-2) 100 AS DECIMAL(18、0)     ELSE CAST(ROUND(number,-2) AS DECIMAL(18,0)) END AS [NUMBER]               
5 A5 j9 Q5 s6 Y8 W' z/ C7 x    解决方案:                                                               
# Z) Y# d+ Y) A. ~. ~$ E# f9 U2 r                                                                试试这个:
- ?- y6 x/ M* Y8 Q6 E. ZDECLARE @testValue Int = 35;SELECT  CASE    WHEN @testValue BETWEEN 0 AND 14 THEN 20    ELSE ROUND((@testValue * 1.0) / 20,0) * 20  END MyRoundedValue;可能有更理想的方法,但这是我想到的第一个解决方案。* 1.0迫使转换为浮点数,使/20产生分数结果。四舍五入使用结果,ROUND然后乘以20获得最终四舍五入值。
1 A. z! b! F% p/ ^) A  l. v+ y+ N' Z5 K编辑考虑你的特殊情况0-14…
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则