sql-server-2005 – 如何在sql中检索一个money列的行,其精度超过2位数的小数位?

我很难弄清楚如何从我的表中选择一组行,其中行的值的精度大于小数点右边的两位数.我不需要任何2位精度的值,我只需要精度大于2位的值.最终结果是需要舍入大于2位精度的值,以将值约束为仅2位精度.插入数据的代码已更正为仅插入2位精度的值,但我需要修复那些没有的值. 最佳答案 嘿那里,你的目标是找到这些记录,然后更新它们吗?以下是我需要做的影像:

DECLARE @smallmoney as money 

set @smallmoney = 1.0097

SELECT @smallmoney as actualValue, ROUND(@smallmoney,2)
WHERE @smallmoney <> ROUND(@smallmoney,2)

如您所见,如果金额已经在两个小数点之内,那么where条件将过滤掉该记录.

希望这对你有用!

点赞