日期设置成参数,查询出来的数据与实际数据不符,1月的数据会多,且不统计12月31日的数据,是什么原因

c69a394211d0ef4f349f28a26a5048c.png31f095c26b0f58813c7ab1754e61943.png

FineReport yzm5PGN47488784 发布于 2022-6-10 09:38 (编辑于 2022-6-10 09:57)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
重庆一棵草Lv4中级互助
发布于2022-6-10 09:41(编辑于 2022-6-10 10:09)

你数据集里面怎么写的?你可以吧参数写在这里。然后将sql打印出来放在数据库里面。你看看你数据集里面的sql和你目前的sql有什么区别image.png

${if(开始时间="", "", "and 数据库字段 >= '"+开始时间+"'")}

${if(结束时间="", "", "and 数据库字段 <= '"+结束时间+"'")}

image.pngimage.png

  • yzm5PGN47488784 yzm5PGN47488784(提问者) 是的 select left(CONVERT(varchar(100), ghsj ,25),10) 日期,count(*) as 门诊患者人次数 from ms_ghmx where 1=1 ${if(len(starttime)=0,\"\",\" and ghsj>=\'\"+starttime+\"\'\")} ${if(len(endtime)=0,\"\",\" and ghsj<=\'\"+endtime+\"\'\")} and ksdm not in (select ksdm from ms_ghks where ksmc like \'%急诊%\') and thbz = 0 group by left(CONVERT(varchar(100), ghsj ,25),10) order by left(CONVERT(varchar(100), ghsj ,25),10);
    2022-06-10 09:43 
  • 重庆一棵草 重庆一棵草 回复 yzm5PGN47488784(提问者) 看看你这里的日期格式设置的什么
    2022-06-10 09:46 
  • 重庆一棵草 重庆一棵草 回复 yzm5PGN47488784(提问者) 你把starttime,endtime这2个参数放在报表里面打印一下、看看是什么格式
    2022-06-10 09:58 
  • yzm5PGN47488784 yzm5PGN47488784(提问者) 回复 重庆一棵草 现在是在数据库中一致了,但是在finereport中预览的数据和分页预览的数据不一样
    2022-06-10 09:59 
  • 重庆一棵草 重庆一棵草 回复 yzm5PGN47488784(提问者) 你这就参数不一样的问题了
    2022-06-10 10:00 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-6-10 09:55(编辑于 2022-6-10 10:10)

同样的语句。。。在数据库中查询出来的数据。。。和在帆软的数据不一样?

你把同样的语句分别在设计器与数据库执行看看呢?

select 

left(CONVERT(varchar(100), ghsj ,25),10) 日期,

count(*) as 门诊患者人次数 

from ms_ghmx 

where 1=1 

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

${if(len(endtime)=0,""," and ghsj<='"+endtime+" 23:59:59'")} 

and ksdm not in (select ksdm from ms_ghks where ksmc like '%急诊%') 

and thbz = 0 

group by left(CONVERT(varchar(100), ghsj ,25),10) 

order by left(CONVERT(varchar(100), ghsj ,25),10);

  • yzm5PGN47488784 yzm5PGN47488784(提问者) 现在是在数据库中一致了,但是在finereport中预览的数据和分页预览的数据不一样
    2022-06-10 09:59 
  • CD20160914 CD20160914 回复 yzm5PGN47488784(提问者) 那不应该呀。。。你的报表设置了什么过滤?还是说有什么特殊计算?你仔细检查一下。比如在设计器中预览看1月的数据是不是一样的?如果在设计器预览和数据库查询一样。只是分页预览不一样。那么就是你的设计器还有什么单元格过滤或者公式形态?
    2022-06-10 10:03 
  • yzm5PGN47488784 yzm5PGN47488784(提问者) 回复 CD20160914 没设置,应该是是因为参数的格式选择了日期没有选择时间型,导致最后日期知道12-31 00:00:00
    2022-06-10 10:08 
  • CD20160914 CD20160914 回复 yzm5PGN47488784(提问者) 那这个你拼一个时分秒吧。。。看上面修改的语句。。。
    2022-06-10 10:10 
  • yzm5PGN47488784 yzm5PGN47488784(提问者) 回复 CD20160914 搞定了,多谢了
    2022-06-10 10:26 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-6-10 09:58

是不是一样要客观判断,先改成debug,再重新预览,预览结束后从日志中找到执行的SQL到查询管理器里面再执行一次。看看结果一样不?image.png

最佳回答
0
E8mE1639Lv5见习互助
发布于2022-6-10 10:10

是不是一个是本地数据库,一个是服务器数据库,再有是否模板单元格有公式、条件属性之类

  • 4关注人数
  • 406浏览人数
  • 最后回答于:2022-6-10 10:10
    请选择关闭问题的原因
    确定 取消
    返回顶部