您好,我来自波斯尼亚和黑塞哥维那,在我们县,最小的钞票是0.05。现在,政府将我们的重试价格推高到0.05或0.00左右。因此,我想创建SQL标量值函数以将价格四舍五入到给定值。是否有一些内置解决方案,所以我可以节省查询资源。感谢您的问候最好的问候
从评论中编辑:
多亏了marc_s,我才更改为money数据类型。
浮动vs十进制vs货币数据类型文章和流程图
ALTER FUNCTION dbo.ufnRound (@number money) RETURNS money AS BEGIN RETURN FLOOR(@number*20) / 20 END GO SELECT dbo.ufnRound (1.22), dbo.ufnRound (1.23), dbo.ufnRound (1.27), dbo.ufnRound (1.28) -- gives 1.2 1.2 1.25 1.25