说我想将一列中的所有值四舍五入到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
知道我在做什么错吗?
答案 0 :(得分:1)
尝试
update someTable
set cash = cast(cash as decimal(18,2))