where语句中如何用if呢

select *from 表名  

where 1=1 

${if(len(${x2})==0,"and to_char(scrq,'yyyymmdd')=to_char(add_months(to_date('${p2}','yyyymm'),1)-1,'yyyymmdd')","and to_char(scrq,'yyyymmdd')='${p2}${x2}'")}

AND (dw='合计') order by km asc

p2是文本框,X2是下拉框,这条语句错哪里了

1111.png

FineReport xingxingxmz 发布于 2022-1-18 10:21 (编辑于 2022-1-18 10:24)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-1-18 10:23

select *from 表名  

where 1=1 

${if(len(x2)==0,"and to_char(scrq,'yyyymmdd')=to_char(add_months(to_date('"+p2+"','yyyymm'),1)-1,'yyyymmdd')","and to_char(scrq,'yyyymmdd')='"+p2+x2+"'")}

AND (dw='合计') order by km asc

if外已经有${},就不需要了,然后拼接就可以

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-1-18 10:23

${if(len(x2)==0,"and to_char(scrq,'yyyymmdd')=to_char(add_months(to_date('"+p2+"','yyyymm'),1)-1,'yyyymmdd')","and to_char(scrq,'yyyymmdd')='"+CONCATENATE(p2,x2)+"'")}

  • 2关注人数
  • 433浏览人数
  • 最后回答于:2022-1-18 10:24
    请选择关闭问题的原因
    确定 取消
    返回顶部