${IF(LEN(sdate)=0,"","and to_date(start_date,'YYYY-MM-DD')>=to_date('"+sdate+"','YYYY-MM-DD')")}
${IF(LEN(edate)=0,"","and to_date(end_date,'YYYY-MM-DD')<=to_date('"+edate+"','YYYY-MM-DD')")}
如果你的end_date已经是日期格式了,那么不用再套to_date了
直接
${IF(LEN(sdate)=0,"","and start_date>=to_date('"+sdate+"','YYYY-MM-DD')")}
${IF(LEN(edate)=0,"","and end_date<=to_date('"+edate+"','YYYY-MM-DD')")}
如果是varchar的格式
${IF(LEN(sdate)=0,"","and start_date>='"+sdate+"'")}
${IF(LEN(edate)=0,"","and end_date<='"+edate+"'")}
SQL呢?
https://bbs.fanruan.com/wenda/question/54495.html
检查一下数据库字段类型与参数输入的类型是否一致,尤其是日期类的数据
SQL是不是有一些类型转换,比如 to_char to_date 之类的,类型有问题。要把SQL及对应字段类型放出来才行