时间区间为空返回全部

一个开始日期,一个结束日期,过滤的字段是字符串,如何设置时间区间为空返回全部,下面设置报错查不出数据:

${if(len(开始日期)=0,"","and plan_ed>=to_char('"+开始日期+"','yyyy-MM-dd')")}

${if(len(结束日期)=0,"","and plan_ed<=to_char('"+结束日期+"','yyyy-MM-dd')")}

FineReport yzmZFHiy5062093 发布于 2022-10-20 17:29
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-10-20 17:59

plan_ed字段如果是字符串类型的。直接这样是没有问题的

where 1=1

${if(len(开始日期)=0,"","and plan_ed>='"+开始日期+"'")}

${if(len(结束日期)=0,"","and plan_ed<='"+结束日期+"'")}

plan_ed字段如果是日期格式的话。那么你在oracel里面就要用这样的写法

where 1=1

${if(len(开始日期)=0,"","and plan_ed>=to_date('"+开始日期+"','yyyy-mm-dd')")}

${if(len(结束日期)=0,"","and plan_ed<to_date('"+结束日期+"','yyyy-mm-dd')+1")}

最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2022-10-20 17:31(编辑于 2022-10-20 17:31)

你要是转为字符串的话

控件默认返回类型就是字符串啊

你把to_char 转化那删掉试试

image.png

最佳回答
0
用户k6280494Lv6资深互助
发布于2022-10-20 17:31

${if(and(len(开始日期)=0,len(结束日期)=0),"","and plan_ed>=to_char('"+开始日期+"','yyyy-MM-dd') and plan_ed<=to_char('"+结束日期+"','yyyy-MM-dd')")}

  • 3关注人数
  • 243浏览人数
  • 最后回答于:2022-10-20 17:59
    请选择关闭问题的原因
    确定 取消
    返回顶部