我很难弄清楚如何从我的表中选择一组行,其中行的值的精度大于小数点右侧的两位数。我不需要任何两位数精度的值,我只需要那些精度大于两位数的值。最终结果是,需要对精度大于2位的值进行四舍五入,以将值限制为只有2位精度。插入数据的代码已经被更正为只插入精度为2位数的值,但我需要修复不是这样的值。
发布于 2010-12-28 22:53:30
嘿,你的目标是找到这些记录,然后更新它们吗?下面是我设想的你需要做的事情:
DECLARE @smallmoney as money
set @smallmoney = 1.0097
SELECT @smallmoney as actualValue, ROUND(@smallmoney,2)
WHERE @smallmoney <> ROUND(@smallmoney,2)正如您所看到的,如果金额已经在两个小数点内,where条件将过滤掉该记录。
希望这对你有用!
发布于 2014-12-11 06:34:41
我到处寻找同样问题的答案,我写的一些脚本创建了一个小数点后2位以上的金钱列-就像你一样,我需要去找大于2 DP的记录-在上面找不到答案,但在其他地方找到了下面的答案。
select ID, MoneyColumn from OurTable
WHERE FLOOR(MoneyColumn*100)!=MoneyColumn*100https://stackoverflow.com/questions/4546823
复制相似问题