四舍五入到特定数字,例如:4,5,9,0 sql
我有将从一种货币转换成几种其他货币的价格,但一旦转换,我想将它们四舍五入到一个特定的数字 关于我需要舍入的内容的示例如下: 任何低于10的数字都可以舍入到下一个数字。为此,我可以使用天花板功能。 10-14之间的任何值都需要四舍五入到14.00。ex:12.78至14.00 14.01和15之间需要四舍五入到15.00。ex:14.25至15.00 15.01和19之间需要四舍五入到19.00 ex:17.35到19.00 19.01和20之间需要四舍五入到20.00。ex:19.25至20.00 我知道这看起来有点奇怪,但这是我为我的项目提供的规范。我也理解将四舍五入到下一个5的倍数,但真正困扰我的是4和9的值 我需要使用什么公式来获得这些数字,或者更容易分解数字,获取小数点前的值,并根据我上面提到的标准进行案例分析四舍五入到特定数字,例如:4,5,9,0 sql,sql,rounding,Sql,Rounding,我有将从一种货币转换成几种其他货币的价格,但一旦转换,我想将它们四舍五入到一个特定的数字 关于我需要舍入的内容的示例如下: 任何低于10的数字都可以舍入到下一个数字。为此,我可以使用天花板功能。 10-14之间的任何值都需要四舍五入到14.00。ex:12.78至14.00 14.01和15之间需要四舍五入到15.00。ex:14.25至15.00 15.01和19之间需要四舍五入到19.00 ex:17.35到19.00 19.01和20之间需要四舍五入到20.00。ex:19.25至20.0
谢谢你的帮助 案例似乎最有意义,但您的“舍入”逻辑可能看起来有点奇怪:
CASE
WHEN value < 10 THEN CEILING(value)
WHEN value <= 14 THEN 14
WHEN value <= 15 THEN 15
WHEN value <= 19 THEN 19
WHEN value <= 20 THEN 20
END
案例似乎最有意义,但您的“舍入”逻辑可能看起来有点奇怪:
CASE
WHEN value < 10 THEN CEILING(value)
WHEN value <= 14 THEN 14
WHEN value <= 15 THEN 15
WHEN value <= 19 THEN 19
WHEN value <= 20 THEN 20
END
既然你有一些奇怪的要求(没有简单的公式来涵盖你所有的情况),那么我认为你最好使用这样的陈述。显然,根据您的要求调整精确的不等式:
SELECT CASE WHEN colVal < 10 THEN CEILING(colVal)
WHEN colVal <= 14 THEN 14
WHEN colVal <= 15 THEN 15
WHEN colVal <= 19 THEN 19
WHEN colVal <= 20 THEN 20
ELSE someotherval
END
选择colVal<10时的情况,然后选择天花板(colVal)
当colVal因为您有一些奇怪的要求(没有简单的公式来涵盖所有的情况),那么我认为您最好使用这样的语句。显然,根据您的要求调整精确的不等式:
SELECT CASE WHEN colVal < 10 THEN CEILING(colVal)
WHEN colVal <= 14 THEN 14
WHEN colVal <= 15 THEN 15
WHEN colVal <= 19 THEN 19
WHEN colVal <= 20 THEN 20
ELSE someotherval
END
选择colVal<10时的情况,然后选择天花板(colVal)
当colVal为20时,是最后一种情况,还是规则增加到99?您可以使用来识别在5的倍数的1以内的数字。然后你可以有2个案例-x mod 5 4.20不是最终案例,它上升到99。我需要能够涵盖任何可能的情况。20是最终的情况,还是规则增加到99?你可以用它来识别在5的倍数1以内的数字。然后你可以有2个案例-x mod 5 4.20不是最终案例,它上升到99。我需要能够涵盖任何可能的情况。谢谢你的快速回答。很好!谢谢你的快速回答。很好!