输入一个区间查询出想要的数据

数据如下,什么在输入框内,输入一个区间查询出想要的数据,例如:2020-01 至2020-12,点击查询就可以查出20年1月份到12月的数据

image.png

FineReport 故笙I诉离歌 发布于 2020-9-18 13:46
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
krystal033Lv7高级互助
发布于2020-9-18 13:47(编辑于 2020-9-18 15:08)


数据集里面这样写


where 1=1
${if(len(开始时间) == 0,"","and dat >= ('" + 开始时间 + "')")}    
${if(len(截止时间) == 0,"","and dat <= ('" + 截止时间 + "')")}


  • 故笙I诉离歌 故笙I诉离歌(提问者) 我这边的数据集是一个视图啊,有排序操作,用你这条语句话报错误代码:1301 数据集配置错误Query:ORA-00933: SQL 命令未正确结束啊,是什么肥事 SQL如下select * from v_ty_app_dcxx d order by d.id,d.yue ${if(len(starttime)=0,\"\",\" and 月份>=\'\"+starttime+\"\'\")} ${if(len(endtime)=0,\"\",\" and 月份<=\'\"+endtime+\"\'\")}
    2020-09-18 14:59 
  • krystal033 krystal033 回复 故笙I诉离歌(提问者) 上面加一个where 1=1试试
    2020-09-18 15:00 
  • 故笙I诉离歌 故笙I诉离歌(提问者) 回复 krystal033 没有用,问题应该不在这
    2020-09-18 15:24 
  • say say 回复 故笙I诉离歌(提问者) select * from v_ty_app_dcxx d order by d.id,d.yue ${if(len(starttime)=0,\\\"\\\",\\\" and 月份>=\\\'\\\"+starttime+\\\"\\\'\\\")} ${if(len(endtime)=0,\\\"\\\",\\\" and 月份<=\\\'\\\"+endtime+\\\"\\\'\\\")} 你这样写是不对啊,试试select * from v_ty_app_dcxx d where 1=1 ${if(len(starttime)=0,\\\"\\\",\\\" and 月份>=\\\'\\\"+starttime+\\\"\\\'\\\")} ${if(len(endtime)=0,\\\"\\\",\\\" and 月份<=\\\'\\\"+endtime+\\\"\\\'\\\")}order by d.id,d.yue
    2020-09-18 15:32 
  • krystal033 krystal033 回复 故笙I诉离歌(提问者) order by 放参数后面
    2020-09-18 15:36 
最佳回答
0
星痕Lv6高级互助
发布于2020-9-18 13:47

?这个不就是两个参数吗?你的sql语句中直接过滤就可以啊

最佳回答
0
IceBall09Lv6中级互助
发布于2020-9-18 15:00

https://help.fanruan.com/finereport/doc-view-258.html

日期控件 (1).cpt

看下这个例子,日期格式改成你要的“yyyy-MM”格式,

image.png

最佳回答
0
sayLv6初级互助
发布于2020-9-18 15:30

贴一下数据集吧

最佳回答
0
指间沙Lv6中级互助
发布于2020-9-18 15:33

你搞两个日期控件,,然后sql用between   and啊

  • 6关注人数
  • 691浏览人数
  • 最后回答于:2020-9-18 15:33
    请选择关闭问题的原因
    确定 取消
    返回顶部