在 mybati 中 使用 sum 函数,如果返回的值是0,也就是没有数据可以计算的时候 ,不会返回 0 而是返回null. 而我们在 mapper 定义的时候 用的是integer,这样就会报错了。
SQL: coalesce()函数
①用途:
将空值替换成其他值
返回第一个非空值
②表达式:
COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。
使用:
SELECT COALESCE(SUM( total_product_amount ),0) AS activitySales FROM table