fr数据集中sql语句如何书写出让2个字段都为同一个变量值?

SELECT * FROM 4c波形数据表 where 1=1 ${if(len(daogao)==0,"",if(len(daogao)==4,"and 2023年一季度导高 ="+daogao,""))}

这种是一个变量条件下的可以正常运行,但是如果我想让另一个字段的值也是daogao这个参数的值就一直报错,我的写法如下

SELECT * FROM 4c波形数据表 where 1=1 ${if(len(daogao)==0,"",if(len(daogao)==4,"and 2023年一季度导高 ="+daogao+"and 2022年三季度导高 ="+daogao,""))}

不知道哪里出错了,希望大神指点一下

测试.zip

附有输出的内置数据

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

SELECT * FROM 4c波形数据表 where 1=1 ${if(len(daogao)==0,"",if(len(daogao)==4,"and 2023年一季度导高 ="+daogao+" and 2022年三季度导高 ="+daogao+"",""))}

  • GaoXinYuan14 GaoXinYuan14(提问者) 确实可以,原因就是第二个and前面没加空格,后面的第二次拼接daogao后面可以不加\"\"也是能正常运行的,再次感谢!
    2023-03-16 15:08 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-3-16 15:02

SELECT * FROM 4c波形数据表 where 1=1 ${if(len(daogao)=0,"",if(len(daogao)=4,"and 2023年一季度导高 ='"+daogao+"' and 2022年三季度导高 ='"+daogao+"'",""))}

  • 2关注人数
  • 204浏览人数
  • 最后回答于:2023-3-16 15:02
    请选择关闭问题的原因
    确定 取消
    返回顶部