回答

收藏

四舍五入到最接近的20

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

正如问题所暗示的,除了0-除了14之间的数字,我需要四舍五入到最接近的20,因为所有的值都不能四舍五入,因为零值不允许使用。此表不需要更新为新值。目前,我只试图放弃或放弃到最接近的100,如下所示:. P9 S  W8 r& s6 g8 ~
    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]               
% A/ m% v% u8 p+ ^$ F0 ?% `0 {    解决方案:                                                               
7 @1 x+ F: L5 t4 ^                                                                试试这个:
5 L$ A4 \5 \. f# n7 ^+ G% ~9 jDECLARE @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获得最终四舍五入值。6 S/ E, K! q" t! S$ _
编辑考虑你的特殊情况0-14…
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则