根本就不用转换的。假如你的oracel里面是真正的日期格式,那么你不要转换,因为日期有索引,同时还是非字符串,它的判断肯定比字符串的,所以你只要直接比较大小就行了,就直接把参数拼一下。如果你的参数是年月的格式,那么直接这样写就行了
${if(len(year_month)=0,"","and mytime>=to_date('"+CONCATENATE(year_month,"-01")+"','yyyy-mm-dd')
and mytime<to_date('"+DATEDELTA(DATEINMONTH(CONCATENATE(year_month,"-01"),-1),1)+"','yyyy-mm-dd')")}
下面截图就是传的是年月的格式,最后通过帆软函数再加上oracel的函数将它转换成的数据,这样的sql最后就会查询你整个2022-02月的数据,而且你的日期字段并没有转换,也会保留索引!我一直是这样操作的,没有任何问题的,查询从来不会慢,除非你的数据超级多,有几个亿
