我现在想实现一个功能,现在有一个下拉选择框,根据选项不同执行不同的sql语句段,因为sql语句里已经包含了if判断条件,if嵌套if是否会导致参数失效?如何能达到我想要的效果?
if嵌套,这个可以去掉
${if(p1='日'),"XXXX where 1=1"+if(len(XX)=0,"","and XXX in ('"+XXX+"')"),"select 2"}
${IF(1,IF(2,"",""),"")}
IF多重嵌套直接用就行,""换成你的sql语句,不要再加${}了,
你这个可以在公式里写sql函数吧 应该能满足
我一般直接写存储过程了。。exec 存储过程名 '${p1}' ,然后在拿到p1去 存储过程IF判断 。这样比较清晰也不用经常修改帆软模板,直接改存储过程
${if(len(ksrq) == 0,"",if((ksrq)="2020-11-24"," and convert(varchar(20),aaa.time,20)>='"+ksrq+" 00:00:00'", " and convert(varchar(20),aaa.time,20)>='"+ksrq+" 18:00:00'") )}
参考下我这个是当日起是24号的时候,取2020-11-24 00:00:00开始,否则其他日起就从 18:00:00开始,参照改下就可以了。