12下一页
发帖
查看: 13167|回复: 13

时间日期字段过滤的问题

升级   5.05%

19

主题

23

回帖

505

积分

注册会员

Rank: 2

积分
505
发表于 2022-12-13 20:45:25 | 显示全部楼层 |阅读模式
本帖最后由 ccraise 于 2022-12-13 20:47 编辑

对自建表设计查询,用JPQL,使用了聚合函数,同时添加了 group by 语句进行分组,

然后就发现一个问题:
自建表中有个字段,类型是datetime,但这个字段不在查询语句中,
现在把这个字段添加到自定义过滤里面,类型选择“日期时间”,为的是能够实现在页面上根据时间段进行统计,
然而,却发现过滤出来的结果根本就不正确
这是个BUG吗?还是有什么特殊的机制我不知道呢?
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-12-14 09:44:35 | 显示全部楼层
回复

使用道具 举报

升级   5.05%

19

主题

23

回帖

505

积分

注册会员

Rank: 2

积分
505
发表于 2022-12-14 10:17:57 | 显示全部楼层
论坛管理员 发表于 2022-12-14 09:44
参考:https://www.o2oa.net/cms/datacenter/177.html

这个参考没有用啊,我的jpql中没有使用时间日期字段,而是在视图上配置“过滤”时选择了日期时间字段

JPQL是这样的:
SELECT o.shqr,count(o.id) as wtshl, sum(o.chll) as chllhj,
sum(o.xyshch),max(o.xyshch),min(o.xyshch),
sum(o.chlshch),max(o.chlshch),min(o.chlshch)
FROM mygzjlbook o
group by o.shqr order by wtshl desc,chllhj desc

这里面,自定义表 mygzjlbook 中有个字段 tjshj 类型是日期时间,但是并没有出现在JPQL里面

视图过滤是这样的:




现在是这个视图上配置的这个过滤条件不能正确过滤出正确结果呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-12-14 16:15:06 | 显示全部楼层


没有复现出您的问题,您这个字段里存储的是日期+时间吗?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   5.05%

19

主题

23

回帖

505

积分

注册会员

Rank: 2

积分
505
发表于 2022-12-14 18:12:16 | 显示全部楼层
论坛管理员 发表于 2022-12-14 16:15
没有复现出您的问题,您这个字段里存储的是日期+时间吗?

自建表定义如下,其中tjshj的类型是datetime:


查看数据库里面的字段类型,也是datetime:


查看数据库里面存储的数据,也都是正常的,注意这里面12月4号到12月10号之间是有数据的:


查询的JPQL是这样的:
SELECT o.fzhfl,count(o.id) as wtsh,sum(o.chll) chllhj,
sum(o.xyshch), max(o.xyshch),min(o.xyshch),
sum(o.chlshch), max(o.chlshch),min(o.chlshch)
FROM mygzjlbook o group by o.fzhfl order by wtsh desc,chllhj desc





视图上的过滤是这样配置的:



然后在查询的时候,过滤的时间范围选择12月4日到10日,这个时间范围应该有数据,但过滤的结果却是空的:















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-12-15 09:44:27 | 显示全部楼层
您F12看一下网络请求是否正常?您的o2oa的版本是多少?
回复

使用道具 举报

升级   5.05%

19

主题

23

回帖

505

积分

注册会员

Rank: 2

积分
505
发表于 2022-12-15 10:47:37 | 显示全部楼层
论坛管理员 发表于 2022-12-15 09:44
您F12看一下网络请求是否正常?您的o2oa的版本是多少?

o2oa版本:7.2.7





怀疑是数据库兼容问题,我这个环境用的是mariadb,然后重新部署了个环境,试了下MySQL 8,结果直接报错了








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

0

主题

662

回帖

2

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2
发表于 2022-12-15 17:10:17 | 显示全部楼层
jpql中查询指定属性模式暂时不支持视图方式展现,因为返回出来的是没有属性名称的,得按第几列方式展现,你可以在不报错的环境测试下f12看看查询结果有没有返回数据,是不是数据有返回但视图没有展现,现阶段只能业务自己写视图展现
回复

使用道具 举报

升级   5.05%

19

主题

23

回帖

505

积分

注册会员

Rank: 2

积分
505
发表于 2022-12-15 17:27:45 | 显示全部楼层
启蒙星 发表于 2022-12-15 17:10
jpql中查询指定属性模式暂时不支持视图方式展现,因为返回出来的是没有属性名称的,得按第几列方式展现,你 ...

视图上是使用列号展示的,所以并不存在你说的问题。这个查询在打开的时候是有数据的,但是一添加日期时间过滤就查不出来了。
另外,换成mysql,直接就在页面上报错,说日期格式错误,但是这个日期是从系统自己的过滤条件设置那得来的,不是我手写的,是设置过滤条件时自己生成的,不存在格式不正确的问题
回复

使用道具 举报

升级   100%

0

主题

662

回帖

2

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2
发表于 2022-12-16 09:18:59 | 显示全部楼层
视视图使用列号也不支持展现,返回的数据没有列号key,除非这个视图是你自己写的,你f12看看执行的url是否有返回正确的结果
回复

使用道具 举报

12下一页
发帖

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread