复选框查询空值不显示是什么原因?

一个字段分为是,否,和空值,将空值赋予编号3,是为1,否为2,复选框查询时,1和2均可以查出数据,空值赋予的3查不出数据,为什么?

${if(len(zt) == 0,"","and STATE in ('" + zt + "')")}

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

你的空是null还是假空,就是空白?在数据库显示的是什么?

null这种很特殊。。。你这种复选的时候。想把这种选择进来。。建议还是在数据查询的时候先处理一下吧

select t.* from (

/*先把null处理为一种字符*/

select case when state is null then 3 else state end as state from table_cs

) t

where 1=1

${if(len(zt) == 0,"","and t.STATE in ('" + zt + "')")}

  • 老青春 老青春(提问者) 数据就是空白,什么都没有,我用case when赋予了一个值3
    2022-03-19 22:23 
  • CD20160914 CD20160914 回复 老青春(提问者) 把你写sql发出来。我看看。。赋值了3,你在查询的时候是否有3这个返回?
    2022-03-19 22:27 
  • 2关注人数
  • 273浏览人数
  • 最后回答于:2022-3-19 22:27
    请选择关闭问题的原因
    确定 取消
    返回顶部