填报表查询条件为空的时候默认查所有,能不能实现为空的时候查询为空呢

填报表查询条件为空的时候默认查所有,能不能实现为空的时候查询为空呢

img_v2_c197b9f9-45b7-4a25-9369-9d9b465103dp_MIDDLE.jpg

FineReport 0U8HGsVU 发布于 2023-9-27 11:01 (编辑于 2023-9-27 11:14)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-9-27 11:02(编辑于 2023-9-27 15:38)

那就直接这个写法

select * from 表

where 字段='${控件名}'

===========

${if(len(company_cd)=0,"and 1=2"," and company_cd in ('"+company_cd+"')")}

  • 0U8HGsVU 0U8HGsVU(提问者) 这样写数据集提示错误
    2023-09-27 11:13 
  • snrtuemc snrtuemc 回复 0U8HGsVU(提问者) 前面缺少 and 啊,你有多个条件,要加and ,这样and company_id=XXX
    2023-09-27 11:18 
  • snrtuemc snrtuemc 回复 0U8HGsVU(提问者) 你要in,那就改一个写法,看修改答案
    2023-09-27 15:37 
最佳回答
0
JL98Lv6中级互助
发布于2023-9-27 11:15(编辑于 2023-9-27 11:18)

1=1为true, 1=2 为false

示例:

SELECT * FROM 销量  ${if(len(area) == 0,"where 1=2","where 地区 = '" + area + "'")} 

image.png

  • 王亚洲 王亚洲 我猜他是要查询空值 哈哈 SELECT * FROM 销量 ${if(len(area) == 0,\"where 地区 is null \",\"where 地区 = \'\" + area + \"\'\")}
    2023-09-27 11:23 
  • JL98 JL98 回复 王亚洲 空值可能还有where 地区=\'\'的情况,哈哈哈
    2023-09-27 11:25 
  • 0U8HGsVU 0U8HGsVU(提问者) 回复 JL98 有点难办
    2023-09-27 11:29 
  • 2关注人数
  • 251浏览人数
  • 最后回答于:2023-9-27 15:38
    请选择关闭问题的原因
    确定 取消
    返回顶部