建议修改sql为:
where 1=1 <a> and to_char(t.observation_tm,'mmdd')=to_char(?{a},'mmdd') </a>
解释一下<a> </a>的原理:
当a参数值为空的时候,sql会跳过两个尖角号中间的部分,也就是<a> and to_char(t.observation_tm,'mmdd')=to_char(?{a},'mmdd') </a> 这一部分,但是where后面此时后面就跟了一个空,这样sql的语法是不对的,所以咱们加上条件1=1,让sql可以正常运行。
|