将货币字段更新为百分之一的查询是什么。我有一些值到千分之一,因为我没有围绕他们进入数据库。现在我需要解决这个问题。
我正在思考:
UPDATE Transactions
SET amount = ROUND(amount, 2)
但这不起作用,因为根据the documentation,ROUND(123.4545,2)导致123.45,而在金钱的情况下,它应该是123.46(如果它是5或更高,我们给它推..)
答案 0 :(得分:1)
这是有效的
UPDATE Transactions
SET amount = round(round(round(amount,4),3),2)
答案 1 :(得分:0)
您误读了引用的文章。要四舍五入到最接近的百分位,您只需查看千位位置的数字,在 123.4545 的情况下为“4”,因此您将向下舍入。 SQL Server ROUND 函数可以满足您的需求。
round(round(amount,3),2) 产生无意义的结果,将 123.4500 到 123.4544 舍入到 123.45,将 123.4545 到 123.4599 舍入到 123.46