你在oracel里面本来存的就是日期格式了。你却用to_char又把它转换成文本的格式。这样转换后数据量大的时候肯定慢了。直接用日期比较就行了,oracel对格式要求相对其它数据库都要严格的,是日期就一定要是日期才可以,不然就会报错!它不像mysql 或者 sql server有隐式转换
${if(len(TrackIn开始时间)=0,"","and lps.trackin_date>=to_date('"+TrackIn开始时间+"','YYYY-MM-DD HH24:MI:SS')")}
${if(len(TrackOut结束时间)=0,"","and lps.trackout_date<=to_date('"+TrackOut结束时间+"','YYYY-MM-DD HH24:MI:SS')")}