1、计算返回值,如果返回为空直接转换为0
NVL
NVL函数的格式如下:NVL(expr1,expr2)
含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
SELECT NVL(SUM(SUBMITSUMMONEY),0) SUM FROM 数据表 WHERE CREATE_UID = #{userId}
2、字符串日期转化
现将字符串格式的日期转换为日期格式,然后按月截取分组。
SYSDATE : 只查询今年日期
SELECT to_char( to_date(END_TIME,'yyyy-mm-dd,hh24:mi:ss'), 'yyyy-mm' ) TIME ,sum( 1 ) NUM
FROM
ACT_REVIEW_V_PROJDONELIST T
where
to_char( to_date( T.END_TIME, 'yyyy-mm-dd,hh24:mi:ss' ), 'yyyy' ) = to_char( SYSDATE, 'yyyy' ) AND
(T.CANDIDATEID = #{userId} OR T.ASSIGNEEID = #{userId})
AND T.END_TIME = (SELECT MAX(A.end_TIME) FROM ACT_REVIEW_V_PROJDONELIST A WHERE A.PROC_INST_ID = T.PROC_INST_ID
AND A.CANDIDATEID = T.CANDIDATEID)
GROUP BY
to_char( to_date(T.END_TIME,'yyyy-mm-dd,hh24:mi:ss'), 'yyyy-mm' )
ORDER BY
to_char( to_date(T.END_TIME,'yyyy-mm-dd,hh24:mi:ss'), 'yyyy-mm' )