一、问题
数据库存储金额字段是以角为单位,需要输出以元为单位,并且只取整数。
使用format可以达到效果,但在聚合金额时便会出错,因为format得到的结果是字符串。
原代码:
select my,sum(my) from
(select format(sum(amount)/100,0) my
from Tabletest) a
group by my
1,999,999,999,999
1
二、知识点
round(d,n) 四舍五入取整
format(d,n) 四舍五入取整,加千分位的分隔符逗号
truncate(d,n) 直接截取整数部分
d为数值,n为保留小数点后几位小数
select 9898098 as show_pv,
format(9898098/100,0) as num1,
round(9898098/100,0) as num2,
truncate(9898098/100,0) as num3
from Tbaletest
limit 1
结果:
9898098,
"98,981",
98981,
98980