为何过滤日期参数之后,选择日期区间,仍然显示的结果是\"大于,小于\"而不是大于等于,小于等于

已设定好过滤参数

screenshot_20210315_001.png

选择起始日期,结束日期(2021/3/4 ~ 2021/3/8) 只显示了3/4及3/5的信息

screenshot_20210315_002.png然而,选择 3/4-3/9 , 居然就显示了3/8的信息了screenshot_20210315_003.png

FineReport yzm240570 发布于 2021-3-15 08:54 (编辑于 2021-3-15 08:59)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
烟尘Lv6高级互助
发布于2021-3-15 09:09

where条件里时间需要格式化

sqlserver写法:where convert(varchar(10),字段名,23) between '${日期控件1}' and '${日期控件2}'

这样就避免了因为时间导致日期判断不对

例如你的3月8号是带时间23:59的,系统会判断这个时间>2021-03-08,所以只有选择了3月9号才会出现

最佳回答
0
krystal033Lv7高级互助
发布于2021-3-15 08:58(编辑于 2021-3-15 09:00)

实际3.9有数据吗

image.png你这两个参数在数据集里面也要加上=的情况 你肯定只写了大于 和 小于 

  • yzm240570 yzm240570(提问者) 有的,我选择3/10则可出现3/9的数据
    2021-03-15 09:01 
  • krystal033 krystal033 回复 yzm240570(提问者) 数据集里面是不是你没有考虑等于的情况只写了>开始时间 <结束时间
    2021-03-15 09:03 
  • yzm240570 yzm240570(提问者) 您看下第一张截屏,是有设等于的
    2021-03-15 09:04 
最佳回答
0
张洪威Lv6高级互助
发布于2021-3-15 08:58

3/8不是在3/9之前吗,这个没问题吧。

  • yzm240570 yzm240570(提问者) 但是, 选择3/8为结束日期,却没有3/8的数据,不合理
    2021-03-15 09:02 
  • 张洪威 张洪威 回复 yzm240570(提问者) 因为你数据库的日期是带了时分秒的,你控件的日期是选择3/8 实际是3-8 0:00:00
    2021-03-15 09:07 
最佳回答
0
ScyalcireLv7中级互助
发布于2021-3-15 09:00

首先你要去数据集 点击预览的时候 输入日期去查一下数据对不对,是用YYYY-MM-DD的格式

先把日期的单元格格式调成 YYY-MM-DD

image.png

  • yzm240570 yzm240570(提问者) 已经改为yyyy-mm-dd, 控件也是,但依旧是一样的
    2021-03-15 09:06 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-3-15 09:09

首先,得明确,你的日期数据是带时间的,应该叫时间数据

你小于等于3月8号,那是小于等于 2021-03-08 00:00:00,而你的数据实际是2021-03-08 12:00:00格式,那当然查不到

你的范围应该是自己拼接下,2021-03-08 23:59:59这样才可以

最佳回答
0
15197037038Lv4见习互助
发布于2021-3-15 09:12

调整一下日期格式试一下,你D3的日期格式为YYYY-MM-DD-HH-MM-SS,将D3的日期格式改为YYYY-MM-DD在测试一下,看看结果是否能查看到3.4~3.8的日期,如果不能,检查一下条件是不是设置错误未修改

  • 7关注人数
  • 612浏览人数
  • 最后回答于:2021-3-15 09:12
    请选择关闭问题的原因
    确定 取消
    返回顶部