为0执行这段,不为0执行带参数的那段

${if(X=0,

"SELECT  yymc  ,yyfwdz ,cjsj  FROM    USR_DATA.T_JZ_YYTJ   WHERE sfsc=0",

"SELECT  yymc  ,yyfwdz ,cjsj  FROM    USR_DATA.T_JZ_YYTJ   

WHERE sfsc=0${if(len(starttime)=0,""," and SUBSTR(cjsj,0,10)>='"+starttime+"'")}${if(len(endtime)=0,""," and SUBSTR(cjsj,0,10)<='"+endtime+"'")}"'")}

FineReport 12283 发布于 2023-12-2 14:41 (编辑于 2023-12-2 14:55)
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
ID1208Lv6高级互助
发布于2023-12-2 15:02(编辑于 2023-12-2 15:03)

image.png

SELECT yymc,yyfwdz,cjsj  

FROM USR_DATA.T_JZ_YYTJ

where 1=1

${if(x=0,"and sfsc=0",if(len(starttime)=0,"and sfsc=0","and sfsc=0 and SUBSTR(cjsj,0,10)>='"+starttime+"'",if(len(endtime)=0,"and sfsc=0 and SUBSTR(cjsj,0,10)>='"+starttime+"'","and sfsc=0 and SUBSTR(cjsj,0,10)>='"+starttime+"' and SUBSTR(cjsj,0,10)<='"+endtime+"'")))}

  • 12283 12283(提问者) 没太懂这个参数设置的逻辑,可以大概讲一下嘛
    2023-12-02 15:59 
  • ID1208 ID1208 回复 12283(提问者) 根据上面的代码,应该就是if嵌套的情况,当参数1满足条件,执行语句1,当参数1和参数2同时满足,执行语句2,以此类推
    2023-12-02 16:04 
  • 12283 12283(提问者) 回复 ID1208 ${if(x=0,\"ELECT yymc,yyfwdz,cjsj FROM USR_DATA.T_JZ_YYTJ where sfsc=0 \",\"ELECT yymc,yyfwdz,cjsj FROM USR_DATA.T_JZ_YYTJ where sfsc=0 if(len(starttime)=0,\"\",\"and SUBSTR(cjsj,0,10)>=\'\"+starttime+\"\' \")} 这样不可以写嘛
    2023-12-02 16:09 
  • ID1208 ID1208 回复 12283(提问者) 印象中好像不太支持,个人比较习惯上面的那种写法
    2023-12-02 16:10 
  • 2关注人数
  • 176浏览人数
  • 最后回答于:2023-12-2 15:03
    请选择关闭问题的原因
    确定 取消
    返回顶部