请问如下编写的语句为什么不能实现日期为空时查询全部的功能?当我没有输入日期值时,查询单号查询不到记录
where 1=1 ${if(len(start_date)=0 && len(end_date)=0,""," and TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi')")}
and TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi') >= '${start_date}' 
and TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi') <= '${end_date}'
${if(len(wbdh)==0,"","and O.EXTERNORDERKEY in('"+wbdh+"')")} ${if(len(wlbm)==0,"","and OD.SKU in('"+wlbm+"')")} ${if(len(scdd)==0,"","and o.notes in('"+scdd+"')")} ${if(len(ckdlx)==0,"","and ot.description in('"+ckdlx+"')")}
neyhig 发布于 2020-12-21 18:11
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-12-21 18:19
select * from tabname 
where 1=1 
${if(len(start_date)=0 && len(end_date)=0,""," and TO_CHAR(O.Requestedshipdate, 'yyyy-mm-dd') >= '"+start_date+"' and TO_CHAR(O.Requestedshipdate, 'yyyy-mm-dd') <= '"+end_date+"'")}
-- 日期前后类型注意统一格式;
${if(len(wbdh) =0,""," and O.EXTERNORDERKEY IN ('"+wbdh+"')")}
${if(len(wlbm) =0,""," and OD.SKU IN ('"+wlbm+"')")} 
${if(len(scdd) =0,""," and o.notes IN ('"+scdd+"')")} 
${if(len(ckdlx)=0,""," and ot.description IN ('"+ckdlx+"')")}


最佳回答
0
huyajunLv6初级互助
发布于2020-12-21 18:18


where 1=1 

${if(len(start_date)==0," ","and TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi') >= '"+start_date+"'")}

${if(len(end_date)==0," ","and TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi') <= '"+end_date+"'")}

${if(len(wbdh)==0,"","and O.EXTERNORDERKEY in('"+wbdh+"')")} 

${if(len(wlbm)==0,"","and OD.SKU in('"+wlbm+"')")} 

${if(len(scdd)==0,"","and o.notes in('"+scdd+"')")} 

${if(len(ckdlx)==0,"","and ot.description in('"+ckdlx+"')")}


最佳回答
0
Kevin-sLv7中级互助
发布于2020-12-21 18:19

where 1=1 ${if(len(start_date)=0 && len(end_date)=0,""," and TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi')")}

${IF(LEN(start_date)=0,"","AND TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi')  >=('"+STARTDATE+"')")}

${IF(LEN(end_date)=0,"","and TO_CHAR(O.Requestedshipdate + '8 / 24', 'yyyy-mm-dd hh24:mi')  <=('"+end_date+"')")}

${if(len(wbdh)==0,"","and O.EXTERNORDERKEY in('"+wbdh+"')")} ${if(len(wlbm)==0,"","and OD.SKU in('"+wlbm+"')")} ${if(len(scdd)==0,"","and o.notes in('"+scdd+"')")} ${if(len(ckdlx)==0,"","and ot.description in('"+ckdlx+"')")}

改成这个就可以用了

  • 4关注人数
  • 281浏览人数
  • 最后回答于:2020-12-21 18:19
    请选择关闭问题的原因
    确定 取消
    返回顶部