我有一个浮点型列,其数字在精度后有6位。我想在精确后仅用两位数字对该列求和。
例如,我有1.257868和1.258778作为值,我想得到2.50的结果作为求和的结果。
看起来你想要这样的东西:
sum(floor(mycol * 100) / 100)
sum()
中的表达式执行截断为2个小数。
您可以使用round()
:的3参数形式
select sum(round(mycol, 2, 1))
odbc截断
select v.val, {fn TRUNCATE(v.val, 2)} as trncted, sum({fn TRUNCATE(v.val, 2)}) over() as sumtrncated
from
(values (1.257868), (1.258778)) as v(val);