如何将保存为varchar的时间求和

木点四 2016-08-24 04:11:35
如题,尝试过转成to_date后求和,但是报数据类型不一致

...全文
133 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2016-08-24
  • 打赏
  • 举报
回复
zbdzjx 2016-08-24
  • 打赏
  • 举报
回复
求和不好办,求平均值,还能实现。 例如:
with table1 as
(
select '2016-08-01 12:00:00' begin_time, '2016-08-03 01:25:36' end_time from dual
)
select begin_time, end_time
, to_char(to_date(begin_time, 'yyyy-mm-dd hh24:mi:ss') + (to_date(end_time, 'yyyy-mm-dd hh24:mi:ss') - to_date(begin_time, 'yyyy-mm-dd hh24:mi:ss'))/2, 'yyyy-mm-dd hh24:mi:ss') avg_time
from table1
如果是多个时间要平均,那就将每个值去减一个固定时间(例如2016-01-01 00:00:00),将这些结果平均,再加上这个固定时间。
bw555 2016-08-24
  • 打赏
  • 举报
回复
大体思路: 时间转化成时间戳再求平均值,再转换回时间
ghx287524027 2016-08-24
  • 打赏
  • 举报
回复
引用 11 楼 qq_35197561 的回复:
[quote=引用 10 楼 wmxcn2000 的回复:] [quote=引用 8 楼 qq_35197561 的回复:] [quote=引用 6 楼 wmxcn2000 的回复:] 对时间,求和 还真是少见; B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B、C 求和的结果 是什么样子的呢?
囧ZZZZZZZ 例子举错了 应该是 00:02 + 00:04 = 00:06 这样的 然后再求一下 平均 = 00:03[/quote] 00:02 + 00:04 这两个数据,是怎么计算出来的?[/quote] 是to_timestamp后以substr提取的[/quote] 可以都转换成秒(number类型的),然后再去做加减平均运算,最后再to_char,to_date。但还是不知道这么做有什么意义
卖水果的net 2016-08-24
  • 打赏
  • 举报
回复
引用 11 楼 qq_35197561 的回复:
[quote=引用 10 楼 wmxcn2000 的回复:] 00:02 + 00:04 这两个数据,是怎么计算出来的?
是to_timestamp后以substr提取的[/quote] 说的具体一点,你这两个数据, substr 可截不出来 02 和 04 这两值;
木点四 2016-08-24
  • 打赏
  • 举报
回复
引用 10 楼 wmxcn2000 的回复:
[quote=引用 8 楼 qq_35197561 的回复:] [quote=引用 6 楼 wmxcn2000 的回复:] 对时间,求和 还真是少见; B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B、C 求和的结果 是什么样子的呢?
囧ZZZZZZZ 例子举错了 应该是 00:02 + 00:04 = 00:06 这样的 然后再求一下 平均 = 00:03[/quote] 00:02 + 00:04 这两个数据,是怎么计算出来的?[/quote] 是to_timestamp后以substr提取的
卖水果的net 2016-08-24
  • 打赏
  • 举报
回复
引用 8 楼 qq_35197561 的回复:
[quote=引用 6 楼 wmxcn2000 的回复:] 对时间,求和 还真是少见; B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B、C 求和的结果 是什么样子的呢?
囧ZZZZZZZ 例子举错了 应该是 00:02 + 00:04 = 00:06 这样的 然后再求一下 平均 = 00:03[/quote] 00:02 + 00:04 这两个数据,是怎么计算出来的?
木点四 2016-08-24
  • 打赏
  • 举报
回复
引用 7 楼 bw555 的回复:
时间求和……,还真没听过啊 这是高科技吗???
我栗子举错了。。。。
木点四 2016-08-24
  • 打赏
  • 举报
回复
引用 6 楼 wmxcn2000 的回复:
对时间,求和 还真是少见; B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B、C 求和的结果 是什么样子的呢?
囧ZZZZZZZ 例子举错了 应该是 00:02 + 00:04 = 00:06 这样的 然后再求一下 平均 = 00:03
bw555 2016-08-24
  • 打赏
  • 举报
回复
时间求和……,还真没听过啊 这是高科技吗???
卖水果的net 2016-08-24
  • 打赏
  • 举报
回复
对时间,求和 还真是少见; B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B、C 求和的结果 是什么样子的呢?
木点四 2016-08-24
  • 打赏
  • 举报
回复
引用 2 楼 qq_35197561 的回复:
[quote=引用 1 楼 ghx287524027 的回复:] 举个例子,,,
A、B、C三列 A为name B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B+C求和 以及给时间做平均值[/quote]
引用 4 楼 ghx287524027 的回复:
[quote=引用 3 楼 ghx287524027 的回复:] [quote=引用 2 楼 qq_35197561 的回复:] [quote=引用 1 楼 ghx287524027 的回复:] 举个例子,,,
A、B、C三列 A为name B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B+C求和 以及给时间做平均值[/quote] 这两列求和出来应该是什么样的,话说对时间求和有什么意义么……[/quote] 这两列求和再平均出来应该是什么样的,话说对时间求和再平均有什么意义么……[/quote] 是这样的 我想求出 一个时间差的平均值来评估软件每个步骤所需的时间 (其中有group by )
ghx287524027 2016-08-24
  • 打赏
  • 举报
回复
引用 3 楼 ghx287524027 的回复:
[quote=引用 2 楼 qq_35197561 的回复:] [quote=引用 1 楼 ghx287524027 的回复:] 举个例子,,,
A、B、C三列 A为name B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B+C求和 以及给时间做平均值[/quote] 这两列求和出来应该是什么样的,话说对时间求和有什么意义么……[/quote] 这两列求和再平均出来应该是什么样的,话说对时间求和再平均有什么意义么……
ghx287524027 2016-08-24
  • 打赏
  • 举报
回复
引用 2 楼 qq_35197561 的回复:
[quote=引用 1 楼 ghx287524027 的回复:] 举个例子,,,
A、B、C三列 A为name B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B+C求和 以及给时间做平均值[/quote] 这两列求和出来应该是什么样的,话说对时间求和有什么意义么……
木点四 2016-08-24
  • 打赏
  • 举报
回复
引用 1 楼 ghx287524027 的回复:
举个例子,,,
A、B、C三列 A为name B为varchar2格式的 2016-08-01 12:00:00 C为varchar2格式的 2016-08-01 12:00:01 B+C求和 以及给时间做平均值
ghx287524027 2016-08-24
  • 打赏
  • 举报
回复
举个例子,,,

17,378

社区成员

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

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