hibernate 数据库问题 时间日期加减法

zhoutao198712 2009-03-11 02:01:05
我设计了一个数据库,其中一个表是仪器设备device(有仪器名,编号,型号等数据),另外一个表是这些仪器设备的详细使用记录(包括仪器每次使用的开始使用时间和结束使用的时间和一个指向仪器设备的键),注意的是:一个仪器要对应很多条使用记录。现在我想的是:通过在数据库中查询出每个仪器的总使用时间?(每个仪器只有一个结果)请问这个hql或者sql语句如何写。谢谢帮忙。
...全文
732 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoutao198712 2009-03-13
  • 打赏
  • 举报
回复
我没有oracle了, 用mysql就不能。
huangan0301 2009-03-11
  • 打赏
  • 举报
回复
我用的是oracle~~最小单位是天~~可以相减~~~
zhoutao198712 2009-03-11
  • 打赏
  • 举报
回复
好像日期时间类型不能直接相加减,所以我在记录表中新添加了一列来记录时间差这样就行了。
huangan0301 2009-03-11
  • 打赏
  • 举报
回复
还是跟你写出来吧~~
使用表为A,开始时间为starttime,结束时间为endtime,仪器id为equid.
select A.equid,B.sum(A.endtime-A.starttime) from A ,(select A.id,A.endtime-A.starttime from A ) B where A.id=B.id group by A.equid
试试吧~~应该可以~~我的时间是最小单位是天,小时或分钟应该都可以~~
huangan0301 2009-03-11
  • 打赏
  • 举报
回复
我说一个思想:
你的使用表中一定有id(主键)和仪器id吧,把使用表中的id和时间差(结束时间-开始时间)查出来作为一张副表和使用表并在一起(使用表.id=副表.id),按仪器id分组查出sum(结束时间-开始时间)。
不知道写清楚了没,也不知道行不行,楼主你试试吧~~~~~~~
ouyangxiaokang6 2009-03-11
  • 打赏
  • 举报
回复
如果使用oracle可以看看,oracle的日期函数能不能处理
zhoutao198712 2009-03-11
  • 打赏
  • 举报
回复
到底有没有解啊?如果没有。我就改改方法。顶就给分呢
zhoutao198712 2009-03-11
  • 打赏
  • 举报
回复
自己顶一下,希望快点解决,这周好弄完了。数据库开发经验不够了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧