FR中SQL以月份为参数获取数据的问题

想通过时间控件获取单月或者几个月的数据,但执行sql语句出现错误。

时间控件的参数设置如下:

image.png

数据库中,”入库时间“字段的类型为:datetime

FR中的SQL语句写法一:

image.png

错误如下

image.png

写法二,修改where条件语句:

image.png

这种写法导致直接不识别${...}中参数

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

把上面红色方框的入到下面来。替换这个,因为你还没有多包一层子查询,所以不能用别名

image.png

如果想用别名,那么你的这个if参数放在最外面。。。再

select * from (你上面的sql语句,不要加${}这一段order by 也不要,其它的可以放进来 ) t

where 1=1

${if(len(start)=0,""," and t.yuefen ='"+start+"'")}

order by t.物料料号,t.时间

  • 帆软用户Tm7z5MeVyj 帆软用户Tm7z5MeVyj(提问者) 是的,你的这种方法是正解
    2023-06-05 13:19 
  • 帆软用户Tm7z5MeVyj 帆软用户Tm7z5MeVyj(提问者) 假如需要按照 ${IF(LEN(start) = 0, \"\", \" AND DATE_FORMAT(a.`入库时间`,\"%Y-%m\") = \'\" + start + \"\' \")} 这种方式编写, 正确的表达式应该是咋样的
    2023-06-05 13:20 
  • CD20160914 CD20160914 回复 帆软用户Tm7z5MeVyj(提问者) 把\"%Y-%m\" 的双引号换成单引号。
    2023-06-05 13:32 
  • 2关注人数
  • 142浏览人数
  • 最后回答于:2023-6-4 17:01
    请选择关闭问题的原因
    确定 取消
    返回顶部