详见下图
把控件的返回值改成字符串
SQL如下
select * from "DA_LMBLP"
where
${if(len(ksrq)=0,"1=1"," to_char(RQ,'yyyy-MM')<= '"+ksrq+"'")}
and to_char(RQ,'YYYY-MM')>=to_char(trunc(add_months(last_day(to_date('${ksrq}'||'-01', 'YYYY-MM-DD')), -1) + 1),'YYYY-MM')
填一下参数,把SQL放到数据库执行一下,不成功,把AND的条件先删除一下在执行,先定位一下问题
感觉问题是你AND条件 的问题,你的格式为啥都转换成'yyyy-MM',你的RQ不是'yyyy-MM-dd'格式的吗
select * from "DA_LMBLP_copy1"
${if(len(ksrq)=0,"1=1"," to_date(RQ,'YYYY-MM-DD')<= to_date('"+ksrq+"', 'YYYY-MM-DD')")}
and to_date(RQ,'YYYY-MM')>=to_date(trunc(add_months(last_day(to_date('${ksrq}', 'YYYY-MM-DD')), -1) + 1),'YYYY-MM')
语句改成如下
你录入2024-11的格式就行了
trunc(add_months(last_day(to_date('${format(CONCATENATE(ksrq,"-01"),"yyyy-MM")}', 'YYYY-MM')), -1) + 1)