在MySQL中用sum()函数进行加减的时候:
正确写法:
sum(A) - sum(B)
错误写法:
//但是这种 写法在ORACLE和DB2中是可以的
sum(A - B)
造成两种计算结果不一致的原因,分析如下:
1.如果字段A和字段B的值都不为NULL,则以上两种情况一样
2.如果其中有一个字段的值为NULL则sum(A - B)的值为NULL
3.所以,最保险,万无一失的写法是使用ifnull函数,将null值赋为0: sum(ifnull(A,0)) - sum(ifnull(B,0))
热门工具 换一换