日期控件参数传递至SQL时,在设计器,where中无法筛选日期参数,但将决策报表放置服务器时,可筛选

日期控件参数传递至SQL时,在设计器,where中无法筛选日期参数,但将决策报表放置服务器时,可筛选,请问是什么原因呢?

使用设计器预览时,starttime和endtime被当作空值来处理.但在服务器中执行时,starttime和endtime的值会被SQL执行并筛选.请问是什么原因呢?

SQL语法如下述:

WHERE 

(('${starttime}' IS NULL OR '${starttime}' = '')

OR input_time >= '${starttime}')

AND (('${endtime}' IS NULL OR '${endtime}' = '')

OR input_time <= '${endtime}')

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

正常这个写法

where 1=1

${if(len(starttime)=0,""," and input_time >= '"+starttime+"'")}

${if(len(endtime)=0,""," and input_time <= '"+endtime+"'")}

  • 帆软用户UAGpoYQ8Cp 帆软用户UAGpoYQ8Cp(提问者) 我改过了,在设计器中还是被当作空值处理,但在服务器中是可以执行的. 另外,在设计器中,第一次预览时无法筛选,但只要再点选日期控件,即可筛选. 不知是何原因.
    2024-03-08 15:26 
  • 玛卡巴卡的小菜鸡 玛卡巴卡的小菜鸡 回复 帆软用户UAGpoYQ8Cp(提问者) 确认一下挂载到目录上时,下方的参数是不是设置了默认值吧,空值是会报错的,至于点选当然是可以的
    2024-03-08 15:33 
  • 帆软用户UAGpoYQ8Cp 帆软用户UAGpoYQ8Cp(提问者) 我在设计器中,starttime和endtime都有设默认值,但是在设计器预览时,SQL无法以starttime和endtime作为筛选条件,但上传至服务器时,就可以作为筛选条件,请问是什么原因呢?
    2024-03-08 16:45 
最佳回答
0
yzm194155Lv4见习互助
发布于2024-3-8 15:19(编辑于 2024-3-8 15:24)

'${starttime}'你这个要是传进来本来就是个具体的值,而非字段,怎么能用is null来判断呢

WHERE 1=1

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