FineReport语句

这个语句我看的不太明白,主要是${if(len(area) == 0,"","where 地区 = '" + area + "'")} 这个部分

FineReport 帆软用户TUwvnQkk7Z 发布于 2024-8-10 14:57
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
快乐星光Lv5中级互助
发布于2024-8-10 15:17

就是if语句的执行逻辑,可以查看执行sql语句对照来理解

image.png

最佳回答
0
很困想睡觉Lv5初级互助
发布于2024-8-10 15:31

image.png

当len(area)==0成立 返回为空即执行select * from   当len(area)==0 不成立则返回select * from where 地区 = 参数,其中 '" + area + "'为参数书写规范。可以按照excel公式理解if(A1=1,0,1)A1=1就相当于len(area)==0,0就是""就是空的,1就是"where 地区 = '" + area + "'"

最佳回答
0
CovidLv3高级互助
发布于2024-8-10 15:49

当area为空即len (area)==0时返回空(不拼接where条件),反之查询与area值匹配的地区

  • 3关注人数
  • 127浏览人数
  • 最后回答于:2024-8-10 15:49
    请选择关闭问题的原因
    确定 取消
    返回顶部