SQL CONVERT(DECIMAL(18, 2), xxx)或者round()无法四舍五入

如果是float类型,用decimal截2位就无法进位

可以试一下

select CONVERT(DECIMAL(18, 2), cast(832.655 as float(53)))

所以要注意数据本身什么类型,或者有没有和float类型进行乘除加减运算等。

本条规则适用于hive,sqlserver等

你可能感兴趣的:(SQL CONVERT(DECIMAL(18, 2), xxx)或者round()无法四舍五入)