假设我想将一列中的所有值四舍五入到小数点后 2 位。在以下示例中,我希望将所有值更新为111.27
:
首先,我用varchar
类型更新所有行
update someTable
set cash = '111.2659516';
现在我想对所有这些值进行四舍五入。如果我投varchar
update someTable
set cash = round(cast(cash as double precision), 2);
结果我会得到这个
111.27000000000001
111.27000000000001
111.27000000000001
111.27000000000001
如果我不转换值,我将得到这个结果
111
111
111
111
知道我做错了什么吗?
尝试
update someTable
set cash = cast(cash as decimal(18,2))