mysql decimal
这是单列求的值:
正常的mysql金额求和就是sum(‘amt1’+‘amt2’+‘amt3’)as amt;
这些适用一些普通的数字类型相加没问题,sql写的少了很多人都忘了,在做数值相加的时候需要判断这个金额是否为空!今天也是没想到这个问题,导致耽误了五分钟时间去搜怎么回事。

sum(IFNULL(amt1,0)+IFNULL(amt2,0)+IFNULL(amt3,0)) AS amt

以后关于这方面的使用时,大家还是要注意关于是空判断啊!

延伸一下,关于金额的类型选择,因为有些特殊的需求需要金额后五位甚至八位的变态要求

cast( sum(IFNULL(amt1,0)+IFNULL(amt2,0)+IFNULL(amt3,0)) AS DECIMAL (11, 8) ) AS money

至于相减或者其他的运算,操作差不多。

如果是多个值并存:

去掉sum,一个个加就好了。主要是得判空。