楼主你直接在where后面跟条件就行了,SQL如下,1=1表示某个一个字段条件或多个个为空时则不执行那个条,条件参数全为空时则查询全部
where
1=1
${IF(LEN(YJDDXSSJ)==0,"","and to_char(s2.YJDDXSSJ,'yyyy-mm') in ('"+YJDDXSSJ+"')")}
${IF(LEN(NDJHSJ)==0,"","and to_char(s2.NDJHSJ,'yyyy-mm') in ('"+NDJHSJ+"')")}
${IF(LEN(JHSALEDATE)==0,"","and to_char(t1.JHSALEDATE,'yyyy-mm') in ('"+JHSALEDATE+"')")}
${IF(LEN(SJSALEDATE)==0,"","and to_char(t1.SJSALEDATE,'yyyy-mm') in ('"+SJSALEDATE+"')")}