求两个Timestamp相减的平均值,怎么写啊?

qiqi0609 2008-01-26 08:08:54
select avg(fieldA - fieldB) from tableA
两个Timpstamp的字段相减之后,出来的结果是类似于(000000000 00:00:00.000000000)这样的东东,然后做avg就会报错。
那么之句SQL应该怎么改阿?
...全文
477 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
doer_ljy 2008-02-01
  • 打赏
  • 举报
回复
timestamp兴确实有这个问题,支持的函数太少了。
虽然都是一定精度(毫秒甚至更小)的数值,但是相减之后得知不能直接To_number。
这一点很不方便。
可能只有搂主的方法了
qiqi0609 2008-01-28
  • 打赏
  • 举报
回复
希望得到结果是秒单位的,要至少带有三位小数。
现在想了下面的办法来解决,但是还是觉得太麻烦。
有没有更好的方法


select avg(
( to_date(to_char(fieldA,'yyyy/mm/dd hh24:mi'), 'yyyy/mm/dd hh24:mi') -
to_date(to_char(fieldB,'yyyy/mm/dd hh24:mi'), 'yyyy/mm/dd hh24:mi') ) * 24*3600 +
( to_number(to_char(fieldA, 'ssxff')) - to_number(to_char(fieldB,'ssxff'))
) as aaa
from TableA;
hailang_maxu 2008-01-28
  • 打赏
  • 举报
回复
得统一时间格式
Croatia 2008-01-27
  • 打赏
  • 举报
回复
你希望得到什么结果呢?
秒单位?
天单位?
还是其他什么单位?
dawugui 2008-01-26
  • 打赏
  • 举报
回复
求两日期某一部分的差(比如秒)
SELECT (d1-d2)*24*60*60 vaule FROM DUAL;
dawugui 2008-01-26
  • 打赏
  • 举报
回复
你这个得按个基数来减(如:按天,小时,分钟,秒等),然后求平均?

你这个平均就是除以2?

17,378

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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